MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


4 participantes

    [Resolvido]Capturar valor de parâmetro de consulta no formulário

    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Capturar valor de parâmetro de consulta no formulário Empty [Resolvido]Capturar valor de parâmetro de consulta no formulário

    Mensagem  good guy 26/9/2015, 18:25

    Olá colegas,

    A minha dúvida é esta mesmo do tópico. Tenho tentado este código na abertura do formulário, mas não tenho conseguido com meus testes:

    Código:

    Private Sub Form_Open(Cancel As Integer)
    On Error Resume Next

    Dim strCriteria As String
    Dim qryDef As QueryDefs

    Set qryDef = CurrentDb.OpenRecordset("SELECT * FROM cnsProcCom")

    strCriteria = "Como " * " & [Digite um termo: ] & " * ""
    MsgBox strCriteria
    DoCmd.OpenQuery qryDef, , strCriteria
    Me.txtTermo = strCriteria
    End Sub


    Última edição por good guy em 5/10/2015, 20:21, editado 2 vez(es)
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]Capturar valor de parâmetro de consulta no formulário Empty Re: [Resolvido]Capturar valor de parâmetro de consulta no formulário

    Mensagem  Leandro 30/9/2015, 14:27

    Bom dia Good Guy,
    Uma variável Global não resolveria?

    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Capturar valor de parâmetro de consulta no formulário Empty Capturar valor de parâmetro de consulta no formulário

    Mensagem  good guy 30/9/2015, 15:57

    Olá Leandro,

    Não funcionou. Estou tentando com Debug.Print.
    Leandro
    Leandro
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1601
    Registrado : 12/11/2009

    [Resolvido]Capturar valor de parâmetro de consulta no formulário Empty Re: [Resolvido]Capturar valor de parâmetro de consulta no formulário

    Mensagem  Leandro 30/9/2015, 17:13

    Será? Smile

    strCriteria = InputBox("Digite um termo:")

    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Capturar valor de parâmetro de consulta no formulário Empty Re: [Resolvido]Capturar valor de parâmetro de consulta no formulário

    Mensagem  Alvaro Teixeira 30/9/2015, 17:35

    Olá a todos,
    Um pitaco, temporariamente tire "on error resume next"
    Na consulta Sql em strCriteria = "Como...
    Altere "como" por " Like"
    Abraço
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Capturar valor de parâmetro de consulta no formulário Empty Capturar valor de parâmetro de consulta no formulário

    Mensagem  good guy 30/9/2015, 19:12

    Olá Leandro,

    Funciona na abertura para capturar o termo, mas não faz o filtro se não tiver o critério anterior. O que acontece é que o usuário terá que digitar duas vezes o termo procurado para funcionar bem.


    Olá Teixeira,

    A mudança para Like no código, infelizmente não alterou em nada.
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Capturar valor de parâmetro de consulta no formulário Empty Capturar valor de parâmetro de consulta no formulário

    Mensagem  good guy 30/9/2015, 23:29

    Olá pessoal,

    Agradeço a ajuda do Leandro e decidi que vou ficar com esta dica. O código ficou assim, porém mantendo a consulta com critério de busca padrão, ou seja:
    "*" & [Digite o termo desejado:] & "*"

    Código:

    Public Sub Form_Open(Cancel As Integer)
    On Error Resume Next

    Dim strCriteria As String
    Dim qryDef As QueryDefs

    Set qryDef = CurrentDb.OpenRecordset("SELECT * FROM cnsProcCom")

    strCriteria = InputBox("Confirme o termo:", "Manual de Procedimentos Comerciais")
    Debug.Print strCriteria

    DoCmd.OpenQuery qryDef, , strCriteria
    Me.txtTermo = strCriteria

    End Sub
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Capturar valor de parâmetro de consulta no formulário Empty Re: [Resolvido]Capturar valor de parâmetro de consulta no formulário

    Mensagem  Alvaro Teixeira 1/10/2015, 00:14

    Olá Eduardo, obrigado pelo retorno.
    Uma tentativa
    Código:
    Dim strCriteria As String
    Dim qryDef As QueryDefs

    strCriteria = InputBox("Confirme o termo:", "Manual de Procedimentos Comerciais")

    strCriteria = "WHERE (nomedoCampo) Like '*' & strCriteria  &  '*'"

    Set qryDef = CurrentDb.OpenRecordset("SELECT * FROM cnsProcCom" & strCriteria)

    Debug.Print strCriteria

    DoCmd.OpenQuery qryDef, , strCriteria
    Me.txtTermo = strCriteria
    Abraço
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Capturar valor de parâmetro de consulta no formulário Empty Capturar valor de parâmetro de consulta no formulário

    Mensagem  good guy 1/10/2015, 15:29

    Me parece uma boa dica Teixeira. Vou tentar, obrigado.

    Olá Teixeira,

    Infelizmente amigo não funcionou. Trabalho com dois formulários, no primeiro através de um botão aciono a abertura de um segundo formulário cuja fonte de controle é uma consulta. Veja bem tentei com duas opções: 1) Com o critério de minha consulta igual a (Como "*" & [Digite um termo: ] & "*")
    2) Sem critério.

    Em ambas as opções, aciono a abertura do segundo formulário com o seguinte código. Veja bem este é apenas um trecho do meu código do primeiro formulário. Está bem chatinho para descobrir um meio de resolver a questão. Estou trabalhando com diversos caminhos em minha mente. Vamos ver quem chega primeiro(rsrsrs):

    Código:

    Dim n As Long
    Dim nTermo As String

    DoCmd.OpenForm "Pesquisa"
    nTermo = Forms!Pesquisa!txtTermo
    Debug.Print nTermo
    n = Me.txtValor              'No campo txtValor surge o resultado do número de registros com este termo
    Me.lblResultado.Caption = "Cerca de " & n & " tópicos encontrados com o termo " & nTermo & "."


    No segundo formulário temos aquele código para o evento Form_Open. Só espero que ajude e seja útil para todos.
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Capturar valor de parâmetro de consulta no formulário Empty Re: [Resolvido]Capturar valor de parâmetro de consulta no formulário

    Mensagem  Alvaro Teixeira 1/10/2015, 16:33

    Olá, segundo compreendi o 2. formulário pretende só com os registos em que tenha o termo digitado.
    Não seria uma solução alterar a origem de dados via vba ja com a instrução sql a filtrar o termo?
    Fica mais esta dica se for o caso.
    Abraço
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Capturar valor de parâmetro de consulta no formulário Empty Capturar valor de parâmetro de consulta no formulário

    Mensagem  good guy 2/10/2015, 19:22

    Olá Teixeira e Leandro,


    Fiz assim:

    1) Critério da consulta

    Como "*" & [Forms]![Pesquisa]![txtTermo] & "*"


    2) Código do formulário Pesquisa no evento Form_Open:

    Código:

    Public Sub Form_Open(Cancel As Integer)
    On Error Resume Next
    Dim strCriteria As String
    Dim qryDef As QueryDefs

    Set qryDef = CurrentDb.OpenRecordset("SELECT * FROM cnsProcCom")

    strCriteria = InputBox("Digite o termo:", "Manual de Procedimentos Comerciais")
    Debug.Print strCriteria
    Me.txtTermo = strCriteria
    DoCmd.OpenQuery qryDef, , strCriteria


    End Sub

    O filtro funciona na consulta cnsProcCom mas no 2º formulário onde esta mesma consulta é a fonte do controle não exibe o resultado. Alguém me ajuda? Já vi as propriedades do formulário, coloquei Sim para aceitar filtro e nada !!!
    Silvio
    Silvio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5074
    Registrado : 20/04/2011

    [Resolvido]Capturar valor de parâmetro de consulta no formulário Empty Re: [Resolvido]Capturar valor de parâmetro de consulta no formulário

    Mensagem  Silvio 2/10/2015, 19:29

    Me adentrando e aventurando e com a permissão dos senhores...

    Por que não usar no segundo formulário uma listbox com uma caixa de texto de pesquisa ?

    Não ficaria mais simples a utilização do mesmo pelo usuário e mais simples a programação ?

    Isso é apenas uma ideia !

    Abraços à todos.


    .................................................................................
    Caso tenha resolvido a tua duvida, coloque o tópico como resolvido.
    www.maximoaccess.com/t860-resolucao-de-topicos

    "Quase tudo é possível quando se tem determinação e força de vontade. Não desista tão rápido."
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Capturar valor de parâmetro de consulta no formulário Empty Re: [Resolvido]Capturar valor de parâmetro de consulta no formulário

    Mensagem  Alvaro Teixeira 2/10/2015, 20:59

    Olá a todos,
    Eduardo o 2º formulário já está aberto? Não falta o requery
    Se poder colocar base de dados com os forms em questão, talvez seja mais facil para ajudar.
    Abraço
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Capturar valor de parâmetro de consulta no formulário Empty Capturar valor de parâmetro de consulta no formulário

    Mensagem  good guy 2/10/2015, 21:38

    Olá Silvio,

    Não se trata de uma simples pesquisa porque há outros parâmetros envolvidos no aplicativo. Trata-se de algo mais complexo onde esse resultado do filtro vai gerar uma estatística. Há muitas funções e sub-rotinas envolvidas.

    Teixeira, vou testar sua dica e caso não dê certo, vou ver se dá para resumir o código do formulário principal. Por ora como está com duas perguntas funciona bem para o que eu desejo, mas gostaria que ficasse apenas uma pergunta, cujo resultado atendesse bem para o que eu quero. Se eu pudesse capturar o valor do parâmetro da consulta gerado pelo seu critério e jogar na caixa de texto do 2.º formulário cujo nome é Pesquisa, beleza.
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Capturar valor de parâmetro de consulta no formulário Empty Re: [Resolvido]Capturar valor de parâmetro de consulta no formulário

    Mensagem  Alvaro Teixeira 2/10/2015, 21:52

    Olá a todos.
    Estou curioso, claro que não gostamos de ter coisas "destas" nos nossos projectos.

    A questão é ainda não consegui compreender o que está a fazer o 2º formulário, nem qual a origem dos dados.
    Na minha opinião, se a abertura do "2º formulario" for sempre dependente do mesmo, até poderá incluir na origem dos dados uma instrução sql, colocando no campo do "termo" a condição "=CampoTermo"

    Outra solução, se o "2º formulário" for aberto após a InputBox, podemos utilizar OpenArgs para passar o nº do termo.
    No pior dos cenários, podemos ter uma variável global.

    Estamos acompanhar amigo.
    Abraço
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Capturar valor de parâmetro de consulta no formulário Empty Capturar valor de parâmetro de consulta no formulário

    Mensagem  good guy 2/10/2015, 22:14

    Olá Teixeira,

    Segue o link:

    http://www.4shared.com/office/n8_n8W63ce/PesquisaEspecial.html?
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Capturar valor de parâmetro de consulta no formulário Empty Re: [Resolvido]Capturar valor de parâmetro de consulta no formulário

    Mensagem  Alvaro Teixeira 2/10/2015, 22:24

    Olá Eduardo, não atino com o 4share, não dropbox, mega ou outro mais fácil?

    Eu aconselho um destes, todos de borla:

    Copy 15Gb (*)
    Meocloud 16gb (*)

    Os mais conhecidos:
    Dropbox 2Gb (*)
    OneDrive 15Gb (**)
    Google Drive 15Gb

    Nota:
    Nos assinalados (*), coloquei link de refral para ganharmos (eu e você) espaço extra.
    Nos assinalados (**), coloquei link de refral apenas eu ganho espaço extra.

    Abraço


    Última edição por ahteixeira em 11/11/2015, 16:57, editado 3 vez(es)
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Capturar valor de parâmetro de consulta no formulário Empty Capturar valor de parâmetro de consulta no formulário

    Mensagem  good guy 2/10/2015, 22:38

    https://copy.com/OQj4MQgPGZcaJ0aF
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Capturar valor de parâmetro de consulta no formulário Empty Re: [Resolvido]Capturar valor de parâmetro de consulta no formulário

    Mensagem  Alvaro Teixeira 2/10/2015, 23:05

    Olá Eduardo, já consegui baixar.
    Vou ter que desligar, no entanto fiz um alteração, teste e deixe retorno.
    PesquisaEspecial.rar
    Abraço
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Capturar valor de parâmetro de consulta no formulário Empty Re: [Resolvido]Capturar valor de parâmetro de consulta no formulário

    Mensagem  Alvaro Teixeira 3/10/2015, 12:44

    Olá Eduardo, hoje já tive oportunidade de ver melhor o seu exemplo.
    Não sei se é o que pretende, mas utilizei o seguinte código para efectuar a pesquisa:
    Código:
    Private Sub cmdIncluir_Click()
    Dim DB As DAO.Database, RS As DAO.Recordset
    Dim strSQL As String
        
        If Len(Me.txtPesquisa & "") > 0 Then
            Set DB = CurrentDb
            
            strSQL = "SELECT ProcedimentosComerciais.Nome FROM ProcedimentosComerciais WHERE " _
                   & "ProcedimentosComerciais.Nome Like '*" & Me.txtPesquisa & "*';"
                
            Set RS = DB.OpenRecordset(strSQL)
                
                If RS.RecordCount <> 0 Then
                    RS.MoveLast
                End If
            
            Me.lblResultado = "Foi encontrado " & RS.RecordCount & " tópico(s) com o termo " & Me.txtPesquisa & "."
            
            RS.Close
            DB.Close
            Set RS = Nothing
            Set DB = Nothing
        Else
            Me.lblResultado = ""
        End If

    End Sub

    Veja se ajuda, segue o meu ficheiro de teste PesquisaEspecial_rev.rar

    Abraço
    good guy
    good guy
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1304
    Registrado : 05/02/2010

    [Resolvido]Capturar valor de parâmetro de consulta no formulário Empty Capturar valor de parâmetro de consulta no formulário

    Mensagem  good guy 5/10/2015, 19:00

    Olá Teixeira,

    Show de bola !!! Ficou legal, e já serve como um bom exemplo para quem se interessar, mas quanto ao meu caso, só pude aproveitar somente algumas dicas porque o testei com outras linhas de código que fazem algumas coisas especiais para mim e não deu certo. Mas consegui resolver a contento com base no critério na consulta, mas também tive essa ideia conforme a mensagem nº 11, com a diferença é que estava fazendo com a referência ao formulário errado, no seu está certo e isso ajudou bastante. Porém o que valeu como dica importante de seu exemplo foi eu colocar uma caixa de texto como referência de pesquisa e então ficou jóia. Tanto o seu exemplo quanto com a manutenção do meu código original estão funcionando agora. Foi muito bom trocarmos ideias e chegarmos a um fim proveitoso.

    No formulário de pesquisa:

    Código:

    Public Sub Form_Open(Cancel As Integer)
    On Error Resume Next

    Dim strCriteria As String
    Dim qryDef As QueryDefs

    Set qryDef = CurrentDb.OpenRecordset("SELECT * FROM cnsProcCom")

    strCriteria = "Como " * " & [Forms]!BarradeProgressoIII![txtPesquisa] & " * ""
    Debug.Print strCriteria

    DoCmd.OpenQuery qryDef, , strCriteria

    Me.Requery


    End Sub

    No critério da consulta cnsProcCom para o campo Nome:

    = "Como " * " & [Forms]!BarradeProgressoIII![txtPesquisa] & " * ""


    E o código do formulário principal:

    Código:

    Public Sub cmdIncluir()
    On Error Resume Next
    Dim n As Long

    DoCmd.OpenForm "Pesquisa"

    n = Forms!Pesquisa!txtTotal

    Me.lblResultado.Caption = "Cerca de " & n & " registro(s) encontrado(s) com o termo " & Me.txtPesquisa & "."


    End Sub
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7919
    Registrado : 15/03/2013

    [Resolvido]Capturar valor de parâmetro de consulta no formulário Empty Re: [Resolvido]Capturar valor de parâmetro de consulta no formulário

    Mensagem  Alvaro Teixeira 6/10/2015, 08:36

    Olá Eduardo, obrigado pelo retorno.
    Claro que é sempre bom trocar ideias, isso é ser MaximoAccess Wink
    Abraço a todos

    Conteúdo patrocinado


    [Resolvido]Capturar valor de parâmetro de consulta no formulário Empty Re: [Resolvido]Capturar valor de parâmetro de consulta no formulário

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 2/5/2024, 02:48