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


2 participantes

    [Resolvido]Pesquisa com Caixa de texto no Forme

    avatar
    cjsilva2013
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 259
    Registrado : 26/06/2013

    [Resolvido]Pesquisa com Caixa de texto no Forme Empty Pesquisa com Caixa de texto no Forme

    Mensagem  cjsilva2013 11/7/2013, 18:11

    Boa tarde, Estou desenvolvendo um programa para Congresso de Mocidade na Igreja da Minha cidade e estou quase concluindo, mas surgiu uma duvida e estou com dificuldade. Encontrei vários scripts para executar uma pesquisa no form do Access quando digitado o nome do Participante, porém não estou conseguindo fazer a pesquisa...

    É o seguinte tenho uma tabela TB_Cadastro com os seguintes campos:
    ID_Cadastro
    Nome
    Data
    Tipo
    Igreja
    Cidade
    Etc...

    E o frmCadastros

    E gostaria de nele colocar uma caixa de texto, onde o Usuário ao digitar o nome do Participante puxe o registro desse participante direto da TB_Cadastros e pelo Nome...

    Pesquisei aqui no fórum tem alguns exemplos mais não consegui adaptar ao minha necessidade.

    Desde já agradeço a colaboração dos amigos, creio que me ajudaram a concluir essa aplicação e entregar a tempo dele poderem usar.

    Abraços a atodos...

    Jefferson Silva
    Julio Lustosa
    Julio Lustosa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 203
    Registrado : 23/02/2011

    [Resolvido]Pesquisa com Caixa de texto no Forme Empty DLookup, DoCmd.ApplyFilter

    Mensagem  Julio Lustosa 11/7/2013, 18:43

    Olá Jeferson,

    Você pode utilizar a expressão DLookup e DoCmd.ApplyFilter, ou até mesmo uma combobox que é muito mais fácil e prático.

    Com DLookup, você monta assim:

    Dim dbIDProc as Double 'Declara uma variável para capturar o ID do nome a ser procurado

    dbIDProc = DLookup("NomeDoCampoASerRetornado","NomeDaTabela","NomeDoCampoASerFiltrado ='" & Me.txtProcura & "'")

    DoCmd.ApplyFilter , "ID_Cadastro=" & dbIDproc


    Ou você pode ir direto pelo ApplyFilter: DoCmd.ApplyFilter ,"Nome='" & Me.txtProcura & "'"

    Se for usar direto o ApplyFilter, vá na sua tabela e indexe o seu campo Nome para Sim(Duplicação autorizada). Isso torna a pesquisa dentro da tabela mais dinâmica e rápida.

    Agora, se usar a combo, basta modificar o código conforme abaixo. Eu recomendo a combobox justamente para impedir o usuário de digitar o nome incorretamente e você ter que ficar contornando isso. Só uma dica. Vai que o nome seja duplicado dentro do banco de dados.

    DoCmd.ApplyFilter ,"ID_Cadastro=" & Me.txtProcura.Column(0)

    Abraços.
    avatar
    cjsilva2013
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 259
    Registrado : 26/06/2013

    [Resolvido]Pesquisa com Caixa de texto no Forme Empty Obrigado por me ajudar Julio

    Mensagem  cjsilva2013 11/7/2013, 19:09

    Seguindo sua dica vou usar a Combobox mesmo. Só me diz uma coisa, uso o script no evento Após atualizar ou Alterar da Combobox?
    avatar
    cjsilva2013
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 259
    Registrado : 26/06/2013

    [Resolvido]Pesquisa com Caixa de texto no Forme Empty Pesquisa em campo de texto ou combobox

    Mensagem  cjsilva2013 11/7/2013, 19:52

    Olá, me perdoe, esqueci de explicar que ao selecionar o Nome do Participante na combobox, preciso também que me traga no form o registro completo...
    Desde já agradeço...

    O Senhor Jesus os abençoe grandemente!
    avatar
    Convidado
    Convidado


    [Resolvido]Pesquisa com Caixa de texto no Forme Empty Re: [Resolvido]Pesquisa com Caixa de texto no Forme

    Mensagem  Convidado 11/7/2013, 20:33

    Boa tarde,

    Como o nobre colega Julio orientou, é bem mais fácil e prático usar uma combobox (caixa de combinação).

    Você pode usar o assistente que fica mais prático ainda.

    Se você já tem o formulário, basta inserir uma combobox que vai aparecer o assistente;

    Na primeira tela selecione a terceira opção;

    As outras etapas são simples e rápida para terminar.


    Nivaldo.
    Julio Lustosa
    Julio Lustosa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 203
    Registrado : 23/02/2011

    [Resolvido]Pesquisa com Caixa de texto no Forme Empty Re: [Resolvido]Pesquisa com Caixa de texto no Forme

    Mensagem  Julio Lustosa 11/7/2013, 20:50

    Jeferson,

    Usando a caixa de combinação, você também poderá utilizar o DoCmd.ApplyFilter. O que ele faz é simplesmente um filtro baseado no critério especificado por você.

    Se o seu form é acoplado à tabela, então pode usá-lo. Senão for, terá desenvolver uma rotina para isso.

    Creio que você já saiba criar uma caixa de combinação, portanto, só não esqueça de deixar a 1ª coluna da caixa com o código identificador do registro. Pois será com ele que você fará o filtro.

    Coloque o seu código ou em um botão no evento ao clicar, ou se desejar, no evento Após Atualizar. Usamos o Antes de Atualizar, quando queremos fazer algum teste antes de atualizar o campo e deixar salvar a alteração, pois neste evento você tem a possibilidade de impedir a atualização.

    Então, veja um exemplo de como o seu código poderá ficar no evento Após Atualizar:

    Private Sub Filtrar_AfterUpdate()

    If Not Isnull(Me.txtLocalizar) then
         DoCmd.ApplyFilter , "DigiteAquiIdentificadorDoRegistro=" & Me.txtLocalizar.Column(0)
    End If

    End Sub

    Usamos a propriedade Column do campo txtLocalizar para indicar que quero que filtre o nome do Participante usando o seu ID já cadastrado na tabela. Mas para isso, não basta somente o Column. Ele tem que vir acompanhado com o seu index, ou seja, a coluna que contém a informação. Se você construiu a combo com 3 colunas por exemplo, e você quer  a primeira, então você informa a coluna "0". Pois sempre inicia-se pelo 0, 1, 2 ...

    Dúvida, é só postar.

    Abraços.
    avatar
    cjsilva2013
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 259
    Registrado : 26/06/2013

    [Resolvido]Pesquisa com Caixa de texto no Forme Empty Sobre a combobox pesquisa

    Mensagem  cjsilva2013 11/7/2013, 20:53

    Já fiz a Combobox com o Assistente do Access...

    Olha testei a seguinte rotina:

    Private Sub txtProcurar_AfterUpdate()
       Me.Filter = "[Nome] like '*" & Me.[txtProcurar] & "*'"
       Me.OrderBy = "TB_Cadastros"
       Me.OrderByOn = True
       Me.FilterOn = True
       txtProcurar = ""
    End Sub

    Da certo, só que ao selecionar pede o Parâmetro da TB_Cadastro... Dai insiro Nome e passa... Porém, cada vez que clico na combo pede o Parâmetro...

    Por favor me ajudem pra solucionar o problema do parâmetro que já da certo.

    Desde já agradeço Nivaldo pela ajuda... É que tenho dificuldade com pesquisa no access...

    Se poderem me ajudar com esse problema. Eu sei que vocês são fera. Faz um bom tempo que venho acompanhando o forum estão todos de parabéns!
    Julio Lustosa
    Julio Lustosa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 203
    Registrado : 23/02/2011

    [Resolvido]Pesquisa com Caixa de texto no Forme Empty Re: [Resolvido]Pesquisa com Caixa de texto no Forme

    Mensagem  Julio Lustosa 11/7/2013, 20:55

    Jeferson,

    Veja a minha resposta antes da sua útlima dúvida.

    Abraços.
    avatar
    cjsilva2013
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 259
    Registrado : 26/06/2013

    [Resolvido]Pesquisa com Caixa de texto no Forme Empty Pesquisa Combobox Form Access

    Mensagem  cjsilva2013 11/7/2013, 21:08

    Boa tarde,

    Júlio, usei da seguinte forma:

    Private Sub txtProcurar_AfterUpdate()
    If Not IsNull(Me.txtProcurar) Then
    DoCmd.ApplyFilter , "Nome=" & Me.txtProcurar.Column(0)
    End If
    End Sub

    Mais continua solicitando o parâmetro da TB_Cadastros
    Julio Lustosa
    Julio Lustosa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 203
    Registrado : 23/02/2011

    [Resolvido]Pesquisa com Caixa de texto no Forme Empty Re: [Resolvido]Pesquisa com Caixa de texto no Forme

    Mensagem  Julio Lustosa 11/7/2013, 21:45

    Amigão. Faça o seguinte. No local de construção consulta da combo, mande uma imagem da tela para eu poder ver. Pode ser algum parâmetro inserido incorretamente.

    Aguardo.
    avatar
    cjsilva2013
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 259
    Registrado : 26/06/2013

    [Resolvido]Pesquisa com Caixa de texto no Forme Empty Telas do JSCongresso para verificação

    Mensagem  cjsilva2013 11/7/2013, 22:02

    Boa noite,

    Júlio estou enviando a tela da Tabela e do Form... Creio que foi porque exclui um registro que a data estava dando erro...

    Mais você pode me dar uma luz para solucionar esse problema...
    Anexos
    [Resolvido]Pesquisa com Caixa de texto no Forme AttachmentPrint Telas JSCongresso.docx
    Telas do Aplicativo
    Você não tem permissão para fazer download dos arquivos anexados.
    (527 Kb) Baixado 19 vez(es)
    avatar
    cjsilva2013
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 259
    Registrado : 26/06/2013

    [Resolvido]Pesquisa com Caixa de texto no Forme Empty Resultado final e agradecimentos

    Mensagem  cjsilva2013 12/7/2013, 13:40

    Bom dia!

    Consegui resolver o problema e quero deixar aqui a solução para que se alguém esteja ou venha precisar possa utilizar...

    Desde já agradeço ao amigo Júlio pela cordial atenção...

    Tendo em vista que vou precisar mais vezes dos senhores para nos ajudar na nova etapa que vou desenvolver.

    Caso concluído!

    Segue Informações e script da Combobox:

    CAIXA DE SELEÇÃO COMBOBOX

    Combobox simples para buscar e selecionar registros no prórpio form do Access.

    1) Nas Propriedades da Combo, no evento "origem da Linha da Combo":

    Usando o Asistente, clique nos três pontinhos, adcione a Tabela ou Consulta que queira usar. Clique sobre o campo principal da tabela e arraste para a Consulta. Ex: Como preciso que a Combo mes traga o Nome do Participante, Arrastei o campo "Nome". Salve e feche o Asistente.

    2) SELECT DISTINCT TB_Cadastros.Nome FROM TB_Cadastros ORDER BY TB_Cadastros.Nome;

    3) Nas Propriedades da Combo "Após Atualizar da Combo":

    Private Sub cboPesquisa_AfterUpdate()
    If cboPesquisa = "" Then
    Me.Filter = "" ' Limpa o filtro do formulário
    cboPesquisa = ""
    Else
    DoCmd.ApplyFilter , "Nome = '" _
    & cboPesquisa & "'"
    End If
    End Sub


    4) Nas Propriedades da Combo "No Atual do Form":

    Private Sub Form_Current()
    If Me.NewRecord Then
    cboPesquisa = vbNull
    Else
    cboPesquisa = Me!Nome
    End If
    End Sub


    5) Nas Propriedades da Combo "No Ao abrir" do form:

    Essa opção coloquei mais deu erro.... Então exclui e rodou normal as informações!

    Private Sub Form_Open(Cancel As Integer)
    cboPesquisa.SetFocus
    cboPesquisa.Text = ""
    End Sub

    Teste a Combobox....
    Julio Lustosa
    Julio Lustosa
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 203
    Registrado : 23/02/2011

    [Resolvido]Pesquisa com Caixa de texto no Forme Empty Re: [Resolvido]Pesquisa com Caixa de texto no Forme

    Mensagem  Julio Lustosa 12/7/2013, 13:49

    Bom dia, Jeferson!

    Fico feliz em ajudar.

    Mas a última opção, só para entender, você queria que ao carregar o form a combo fosse nula, ou seja, não carregasse lista nenhuma na combo? Se for, tente assim:

    Private Sub Form_Open(Cancel As Integer)

    Me.cboPesquisa.RecordSource = ""
    Me.cboPesquisa.Requery
    Me.cboPesquisa.SetFocus

    End Sub

    Abraços.
    avatar
    cjsilva2013
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 259
    Registrado : 26/06/2013

    [Resolvido]Pesquisa com Caixa de texto no Forme Empty Pesquisa com Caixa de texto no Forme

    Mensagem  cjsilva2013 9/9/2013, 15:02

    Julio, foi resolvido da seguinte forma:

    Caixa de Combinação nome:cboPesquisa

    Origem da linha: SELECT TB_Cadastros.Nome FROM TB_Cadastros;

    Após Atualizar:
    Private Sub cboPesquisa_AfterUpdate()

    If cboPesquisa = "" Then
    Me.Filter = "" ' Limpa o filtro do formulário
    cboPesquisa = ""
    Else
    DoCmd.ApplyFilter , "Nome = '" _
    & cboPesquisa & "'"
    End If

    End Sub


    Desde já agradeço a ajuda....

    Resolvido!

    Conteúdo patrocinado


    [Resolvido]Pesquisa com Caixa de texto no Forme Empty Re: [Resolvido]Pesquisa com Caixa de texto no Forme

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 6/12/2024, 17:54