Marcia Torquato Postado Novembro 26, 2008 Denunciar Share Postado Novembro 26, 2008 Prezados colegas:Já pesquisei nos tópicos sobre caixa de combinação e não encontrei a solução para a minha dúvida.Ou melhor encontrei um próximo, porém não me deu a idéia de como fazer, já que a dúvida esta alémda minha.Tenho duas tabelas, uma é de Ruas onde tem os seguintes campos, Nome da Rua, CEP e setor e outra é de dados, ondeterei o nome da pessoa, data de nascimento, idade e afins.No meu formulário de Dados eu gostaria que através de uma caixa de combinaçãofosse localizado a Rua que cadastrei na tabela e ao selecionar a Rua os demais camposcomo CEP e setor fossem preenchidos automáticamente.Não consigo fazer esse processo.Encontrei caminho para usar dois formulários, como ter um de DADOS e com um botão de comando acessar outroformulário que seria o de RUAS. Mas esta não é a minha intenção, pois quero deixar tudo em um único formulário para ficar o mais didáticopossível.Se por ventura tiver algum tópico com esta resposta, peço antecipadamente desculpas, pois confesso que não encontrei.E se puderem me indicar ficarei imensamente agradecida.Obrigada a todos pela atenção! :mellow: Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Jonathan Queiroz Postado Novembro 26, 2008 Denunciar Share Postado Novembro 26, 2008 Posta aí como está seu código...Só pra ter noção do que teria que mudar ! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcia Torquato Postado Novembro 27, 2008 Autor Denunciar Share Postado Novembro 27, 2008 JonathamSei lidar com o access através dos botões. :blush: Como faço para colocar os códigos aqui?Quando vou no meu formulário e na barra design do formulário clico em código, abre o VB porém só aparece:Option Compare DatabaseOption Explicit :blink: Obrigada por me responder! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcia Torquato Postado Novembro 27, 2008 Autor Denunciar Share Postado Novembro 27, 2008 Consegui ajuda.A resposta esta aí.Option Compare DatabasePrivate Sub ExibirDados() If IsNull(Me.CódigoRua.Value) Or Not IsNumeric(Me.CódigoRua.Value) Then Exit Sub End If Me.Endereço.Value = _ DLookup("Endereço", "Ruas", "[CódigoRua]=" & CLng(Trim(Me.CódigoRua.Value))) Me.CEP.Value = _ DLookup("CEP", "Ruas", "[CódigoRua]=" & CLng(Trim(Me.CódigoRua.Value))) Me.ResponsavelRua.Value = _ DLookup("ResponsavelRua", "Ruas", "[CódigoRua]=" & CLng(Trim(Me.CódigoRua.Value)))End SubPrivate Sub CódigoRua_AfterUpdate()Call ExibirDadosMe.RecalcEnd SubPrivate Sub Form_AfterUpdate()Me.RecalcEnd SubPrivate Sub Form_Open(Cancel As Integer)DoCmd.GoToRecord , , acNewRecEnd Sub Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MrMALJ Postado Dezembro 1, 2008 Denunciar Share Postado Dezembro 1, 2008 Bom tem alguns exemplos do dlookup e vários sobre combobox, e lendo o que você postou não consegui entender como exatidão o você desejaque Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcia Torquato Postado Dezembro 2, 2008 Autor Denunciar Share Postado Dezembro 2, 2008 MrMALJPerdão.Bem o que ocorreu foi o seguinte.Tenho duas tabelas, uma de dados onde tenho, nome completo, idade , fone...Endereço.E outra tabela de cadastro de ruas, onde tenho CEP, setor, Rua,Responsável.No formulário Dados cadastrais criei uma caixa de combinação de ruas, baseado natabela ruas, ou seja quando o usuário começar a cadatrar uma nova pessoa echegar na caixa de combinação, escolherá a Rua em que o morador esta situado e os dados Endereço, CEP,Setor,Responsável, será preenchido automaticamente, sem ter que entrar em um novoformulário para preencher esta informação.Antes eu estava conseguindo fazer o processo com dois formulários o que não é prático,já que as pessoas que usarão o sistema nunca utilizaram um computador ou conhecem muitopouco, portanto a minha idéia é deixa-lo o mais prático e didático possível.Espero ter me expressado melhor. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MrMALJ Postado Dezembro 2, 2008 Denunciar Share Postado Dezembro 2, 2008 Ummmm ficou um pouco mais claro, mais agora foi eu quem travou num toh pensando em nada pra explicar o processo então peço pra você postar o BD ou essa parte dele que vou dar um jeito de fazer isso pra você e posto de volta, ok! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcia Torquato Postado Dezembro 4, 2008 Autor Denunciar Share Postado Dezembro 4, 2008 (editado) MrMALJBom dia!Deu para resolver. Agora até mesmo se você colocar uma informação mais tardeele já esta programado para preencher todos os dados alterados. Exemplo, você não sabeo CEP para não travar o processo deixará o campo para depois e continuará com as outrasinformações. Quando souber o CEP no formRuas ao colocar o número do CEP automaticamente na Ruadaquele CEP no formDados será preenchido automaticamente.Segue a solução:(Caixa de combinação do FormDados em Após atualizar)Option Compare DatabasePrivate Sub ExibirDados() If IsNull(Me.CódigoRua.Value) Or Not IsNumeric(Me.CódigoRua.Value) Then Exit Sub End If Me.Endereço.Value = _ DLookup("Endereço", "tab_Ruas", "[CódigoRua]=" & CLng(Trim(Me.CódigoRua.Value))) Me.CEP.Value = _ DLookup("CEP", "tab_Ruas", "[CódigoRua]=" & CLng(Trim(Me.CódigoRua.Value))) Me.ResponsavelRua.Value = _ DLookup("ResponsavelRua", "tab_Ruas", "[CódigoRua]=" & CLng(Trim(Me.CódigoRua.Value))) Me.Setor.Value = _ DLookup("Setor", "tab_Ruas", "[CódigoRua]=" & CLng(Trim(Me.CódigoRua.Value))) Me.Bairro.Value = _ DLookup("Bairro", "tab_Ruas", "[CódigoRua]=" & CLng(Trim(Me.CódigoRua.Value))) Me.Cidade.Value = _ DLookup("Cidade", "tab_Ruas", "[CódigoRua]=" & CLng(Trim(Me.CódigoRua.Value))) Me.UF.Value = _ DLookup("UF", "tab_Ruas", "[CódigoRua]=" & CLng(Trim(Me.CódigoRua.Value))) End SubPrivate Sub CódigoRua_AfterUpdate()Call ExibirDadosMe.RecalcEnd SubPrivate Sub Form_AfterUpdate()Me.RecalcEnd SubPrivate Sub Form_Open(Cancel As Integer)DoCmd.GoToRecord , , acNewRecEnd SubCom relação a atualizar automaticamente para depois a solução é esta (formRuas em Após atualizar):Private Sub CEP_AfterUpdate()DoCmd.RunSQL "UPDATE Tab_Dados SET Tab_Dados.CEP = Forms!FormRuas!CEP WHERE (((Tab_Dados.CódigoRua)=[Forms]![FormRuas]![CódigoRua]));"End SubAgradeço a atenção de todos. Editado Dezembro 4, 2008 por Marcia Torquato Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 MrMALJ Postado Dezembro 4, 2008 Denunciar Share Postado Dezembro 4, 2008 Otimo agradeço por retornar a solução, só faço uma observação quanto ao uso do Dlookup em bases de dados pequenas isso é otimo porem quando ele começz ficar grande o tempo de resposta fica alto por isso controle o uso da função! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Marcia Torquato
Prezados colegas:
Já pesquisei nos tópicos sobre caixa de combinação e não encontrei a solução para a minha dúvida.
Ou melhor encontrei um próximo, porém não me deu a idéia de como fazer, já que a dúvida esta além
da minha.
Tenho duas tabelas, uma é de Ruas onde tem os seguintes campos, Nome da Rua, CEP e setor e outra é de dados, onde
terei o nome da pessoa, data de nascimento, idade e afins.
No meu formulário de Dados eu gostaria que através de uma caixa de combinação
fosse localizado a Rua que cadastrei na tabela e ao selecionar a Rua os demais campos
como CEP e setor fossem preenchidos automáticamente.
Não consigo fazer esse processo.
Encontrei caminho para usar dois formulários, como ter um de DADOS e com um botão de comando acessar outro
formulário que seria o de RUAS. Mas esta não é a minha intenção, pois quero deixar tudo em um único formulário para ficar o mais didático
possível.
Se por ventura tiver algum tópico com esta resposta, peço antecipadamente desculpas, pois confesso que não encontrei.
E se puderem me indicar ficarei imensamente agradecida.
Obrigada a todos pela atenção! :mellow:
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.