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


3 participantes

    Digitar campos em um formulário para pesquisar registro em outro formulário

    avatar
    viniciusgnr
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 50
    Registrado : 24/05/2012

    Digitar campos em um formulário para pesquisar registro em outro formulário Empty Digitar campos em um formulário para pesquisar registro em outro formulário

    Mensagem  viniciusgnr 3/9/2012, 15:11

    Saudações, amigos. Fiz uma pesquisa e não encontrei nada para me ajudar.

    Estou tentando criar uma busca "personalizada" no meu BD. Para isso, criei um novo formulário e um campo para digitar texto. Ao clicar no botão que inseri logo abaixo, o sistema procura o número digitado no outro formulário.

    Como não entendo quase nada de VBA, como seria o código para isso? Tentei algo assim:
    Código:
    Private Sub Botao_Click()
    Dim test As Integer
    test = Me.MeuCampo.Value
    DoCmd.OpenForm "Form1"
    DoCmd.GoToRecord ???
    End Sub
    Fico no aguardo de sugestões!

    Obrigado...
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    Digitar campos em um formulário para pesquisar registro em outro formulário Empty Re: Digitar campos em um formulário para pesquisar registro em outro formulário

    Mensagem  Alexandre Neves 3/9/2012, 15:53

    Boa tarde,
    Quer procurar noutro formulário ou numa tabela?
    Será numa tabela. Procure, aqui no fórum já se tem falado muito sobre isso


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    viniciusgnr
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 50
    Registrado : 24/05/2012

    Digitar campos em um formulário para pesquisar registro em outro formulário Empty Re: Digitar campos em um formulário para pesquisar registro em outro formulário

    Mensagem  viniciusgnr 3/9/2012, 16:50

    De fato, o registro está em uma tabela.

    Mas quero que, ao clicar no botão, traga o formulário contendo o registro digitado.

    Pelo menos nas consultas Google afora ainda não encontrei nada semelhante a isso.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    Digitar campos em um formulário para pesquisar registro em outro formulário Empty Re: Digitar campos em um formulário para pesquisar registro em outro formulário

    Mensagem  Alexandre Neves 3/9/2012, 17:05

    Então, não é para procurar mas para abrir no registo específico (o formulário só terá esse registo)

    Docmd.OpenForm FormName, "", "", "Registo=" & TxtCaixaDeTexto


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    viniciusgnr
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 50
    Registrado : 24/05/2012

    Digitar campos em um formulário para pesquisar registro em outro formulário Empty Re: Digitar campos em um formulário para pesquisar registro em outro formulário

    Mensagem  viniciusgnr 4/9/2012, 14:45

    É isso mesmo, o formulário só vai trazer o registro que eu digitei. A falta de resultados satisfatórios em minhas pesquisas é justamente isso, não saber com quais palavras procurar, então acabo postando aqui no fórum...

    Aproveitando o tópico, como faço então para ter duas caixas de texto? Por exemplo, no meu BD dos contratos do trabalho tenho o número do contrato e ano do contrato.

    Coloquei duas caixas de texto no formulário e no código usei o And para juntar as duas condições. Já me acusou erro...

    Sugestão?
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3880
    Registrado : 04/04/2010

    Digitar campos em um formulário para pesquisar registro em outro formulário Empty Re: Digitar campos em um formulário para pesquisar registro em outro formulário

    Mensagem  Avelino Sampaio 4/9/2012, 15:04

    Quando tiver um tempinho, lei este meu tutorial e assista a vídeo-aula. Poderá ser bastante esclarecedor.

    http://www.usandoaccess.com.br/tutoriais/tuto35.asp?id=1#inicio

    Bom estudo!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    viniciusgnr
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 50
    Registrado : 24/05/2012

    Digitar campos em um formulário para pesquisar registro em outro formulário Empty Re: Digitar campos em um formulário para pesquisar registro em outro formulário

    Mensagem  viniciusgnr 6/9/2012, 14:22

    Bom, depois de ler o artigo do mestre Avelino consegui ter uma luz e usar outros parâmetros para buscar a solução.

    O código que funcionou para abrir meu formulário com as duas condições ficou assim:
    Código:
    DoCmd.OpenForm "MeuForm", , , "MeuCampo1=" & Me.Campo1 & " And  MeuCampo2=" & Me.Campo2
    Descobri que o And precisava ficar dentro das aspas...

    Agora tenho outra dúvida. Se clicar direto no botão de abrir o formulário sem preencher nenhum dos dados para a condição, o Access obviamente dá erro de operador faltando. Queria que, antes do erro, surgisse uma caixa de mensagem para alertar o preenchimento obrigatório dos campos. Tentei com o if, elseif e then assim:
    Código:
    Private Sub Botao_Click()
    If Me.Campo1 = Null Then
    ElseIf Me.Campo1 = "" Then
        MsgBox "Digite o número do Campo1", vbExclamation
        DoCmd.CancelEvent
    ElseIf Me.Campo2 = Null Then
    ElseIf Me.Campo2 = "" Then
        MsgBox "Digite o número do Campo2", vbExclamation
        DoCmd.CancelEvent
    Else
        DoCmd.OpenForm "MeuForm", , , "MeuCampo1=" & Me.Campo1 & " And  MeuCampo2=" & Me.Campo2
    End If
    End Sub
    Mas não deu certo, cai direto no erro de operador faltando sem passar pelas minhas MsgBox.

    O que faço de errado?
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    Digitar campos em um formulário para pesquisar registro em outro formulário Empty Re: Digitar campos em um formulário para pesquisar registro em outro formulário

    Mensagem  Alexandre Neves 6/9/2012, 14:27

    Acompanhe o fórum, mesmo em assuntos passados, para descobrir formas de resolver problemas
    Para casos concrectos, utilize o botão de busca
    Neste caso, utilize
    Código:
    If IsNull(Me.Campo1) or Me.Campo1 = "" Then
        MsgBox "Digite o número do Campo1", vbExclamation
        DoCmd.CancelEvent
    ElseIf IsNull(Me.Campo2) or Me.Campo2 = "" Then
        MsgBox "Digite o número do Campo2", vbExclamation
        DoCmd.CancelEvent
    Else
        DoCmd.OpenForm "MeuForm", , , "MeuCampo1=" & Me.Campo1 & " And  MeuCampo2=" & Me.Campo2
    End If


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    avatar
    viniciusgnr
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 50
    Registrado : 24/05/2012

    Digitar campos em um formulário para pesquisar registro em outro formulário Empty Re: Digitar campos em um formulário para pesquisar registro em outro formulário

    Mensagem  viniciusgnr 6/9/2012, 14:37

    Que ótimo, desse jeito funcionou perfeitamente.

    Mas quando não há registro, o formulário em questão vem em branco. É possível exibir outra MsgBox de "registro não encontrado" nesses casos?

    PS.: Não é por falta de procura. Na maioria das vezes não sei as palavras-chave para pesquisar.
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    Digitar campos em um formulário para pesquisar registro em outro formulário Empty Re: Digitar campos em um formulário para pesquisar registro em outro formulário

    Mensagem  Alexandre Neves 6/9/2012, 18:36

    Pode fazer de várias maneiras
    tente assim, ao abrir do formulário

    If IsNull(NomeDeCampoDoFormulario) Then
    Cancel = True
    End If


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    Conteúdo patrocinado


    Digitar campos em um formulário para pesquisar registro em outro formulário Empty Re: Digitar campos em um formulário para pesquisar registro em outro formulário

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 28/4/2024, 17:30