Amigos! Tenho um formulário de cadastro de clientes e outros com uma combo logradouros que trás informações de uma tabela, porém ao cadastrar um cliente e ao procurar na combo o logradouro ainda não está cadastrado, coloquei um botão ao lado da combo que chama o formulário de cadastro de logradouros. Preciso que ao cadastrar o novo logradouro, a combo seja atualizada no formulário que chamou. Alguém poderia me ajudar?
2 participantes
[Resolvido]Atualizar combo de outro formulário ao clicar no botão salvar
Edelson Vieira- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 207
Registrado : 22/08/2015
Boa noite!
Amigos! Tenho um formulário de cadastro de clientes e outros com uma combo logradouros que trás informações de uma tabela, porém ao cadastrar um cliente e ao procurar na combo o logradouro ainda não está cadastrado, coloquei um botão ao lado da combo que chama o formulário de cadastro de logradouros. Preciso que ao cadastrar o novo logradouro, a combo seja atualizada no formulário que chamou. Alguém poderia me ajudar?
Amigos! Tenho um formulário de cadastro de clientes e outros com uma combo logradouros que trás informações de uma tabela, porém ao cadastrar um cliente e ao procurar na combo o logradouro ainda não está cadastrado, coloquei um botão ao lado da combo que chama o formulário de cadastro de logradouros. Preciso que ao cadastrar o novo logradouro, a combo seja atualizada no formulário que chamou. Alguém poderia me ajudar?
Noobezinho- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4140
Registrado : 29/06/2012
Edelson
No botão fechar formulário que está cadastrando o novo logradouro:
Docmd.RunCommand acCmdSaveRecord ' força o salvamento na tabela
Forms!NomeDoFormQueChamouEsse!NomeDaCombo.Requery 'Isso faz uma re consulta na tabela atualizando a combo.
Forms!NomeDoFormQueChamouEsse!NomeDaCombo = Me.NomeDaCaixaDetextoNomeLogradourodesteForm 'preenche a combo do outro form com o nome do logradouro deste form
DoCmd.Close acform, Me.Name 'Fecha esse form retornando para o outro.
[ ]'s
No botão fechar formulário que está cadastrando o novo logradouro:
Docmd.RunCommand acCmdSaveRecord ' força o salvamento na tabela
Forms!NomeDoFormQueChamouEsse!NomeDaCombo.Requery 'Isso faz uma re consulta na tabela atualizando a combo.
Forms!NomeDoFormQueChamouEsse!NomeDaCombo = Me.NomeDaCaixaDetextoNomeLogradourodesteForm 'preenche a combo do outro form com o nome do logradouro deste form
DoCmd.Close acform, Me.Name 'Fecha esse form retornando para o outro.
[ ]'s
.................................................................................
A pergunta que não quer calar:
Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
para enviar parte do projeto, não temos mais continuidade do tópico?
Crê que temos bolas de cristal ou está com medo que "roubemos" a
idéia/projeto dele?
Se é tão bom assim...
Ajude a ser ajudado:
Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
sem precisar procurar o mesmo.
Edelson Vieira- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 207
Registrado : 22/08/2015
Bom dia Noobezinho!
Mais uma vez agradeço sua disponibilidade em colaborar.
Neste código tenho que identificar o formulário que chamou, porém como disse na postagem inicial são vários os formulários que possuem endereço. Como resolver este problema? Outra coisa quando eu cadastrar um novo logradouro chamando diretamente o formulário de cadastro de logradouros não gerará um conflito ao fechar o formulário?
Mais uma vez agradeço sua disponibilidade em colaborar.
Neste código tenho que identificar o formulário que chamou, porém como disse na postagem inicial são vários os formulários que possuem endereço. Como resolver este problema? Outra coisa quando eu cadastrar um novo logradouro chamando diretamente o formulário de cadastro de logradouros não gerará um conflito ao fechar o formulário?
Noobezinho- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4140
Registrado : 29/06/2012
Tem como resolver, mas antes disso,
não está sendo redundante?
Basta ter os dados assim como o endereço em apenas uma tabela.
Quando precisar exibir esses dados num formulário, basta ir buscar
nessa tabela.
Seria bom repensar, do que ter 5,10 ou mais tabelas com os mesmos dados.
Mas, se quiser persistir nisso, pode fazer assim:
Em um módulo básico coloque essa variável pública.
Public MeuForm as string
No botão que chama o formulário que cadastra as ruas, coloque:
MeuForm = Me. name
Substituindo os códigos da minha mensagem anterior por
Forms(MeuForm)
Docmd.RunCommand acCmdSaveRecord ' força o salvamento na tabela
Forms(MeuForm)!NomeDaCombo.Requery 'Isso faz uma re consulta na tabela atualizando a combo.
Forms(MeuForm)!NomeDaCombo = Me.NomeDaCaixaDetextoNomeLogradourodesteForm 'preenche a combo do outro form com o nome do logradouro deste form
DoCmd.Close acform, Me.Name 'Fecha esse form retornando para o outro.
não está sendo redundante?
Basta ter os dados assim como o endereço em apenas uma tabela.
Quando precisar exibir esses dados num formulário, basta ir buscar
nessa tabela.
Seria bom repensar, do que ter 5,10 ou mais tabelas com os mesmos dados.
Mas, se quiser persistir nisso, pode fazer assim:
Em um módulo básico coloque essa variável pública.
Public MeuForm as string
No botão que chama o formulário que cadastra as ruas, coloque:
MeuForm = Me. name
Substituindo os códigos da minha mensagem anterior por
Forms(MeuForm)
Docmd.RunCommand acCmdSaveRecord ' força o salvamento na tabela
Forms(MeuForm)!NomeDaCombo.Requery 'Isso faz uma re consulta na tabela atualizando a combo.
Forms(MeuForm)!NomeDaCombo = Me.NomeDaCaixaDetextoNomeLogradourodesteForm 'preenche a combo do outro form com o nome do logradouro deste form
DoCmd.Close acform, Me.Name 'Fecha esse form retornando para o outro.
.................................................................................
A pergunta que não quer calar:
Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
para enviar parte do projeto, não temos mais continuidade do tópico?
Crê que temos bolas de cristal ou está com medo que "roubemos" a
idéia/projeto dele?
Se é tão bom assim...
Ajude a ser ajudado:
Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
sem precisar procurar o mesmo.
Edelson Vieira- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 207
Registrado : 22/08/2015
Amigo Noobezinho!
Meu objetivo é ter o endereço cadastrado uma única vez. Como terei milhares de cadastros de clientes, fornecedores, funcionários etc, irei buscar o cadastro no endereço que já está cadastrado. Meu objetivo é ao acionar a combo estado por exemplo irá listar somente os municípios daquele estado, da mesma forma para município, bairro e logradouro. Segue o link Para você dar uma olhada. Teste com o frmCadCli. Acredito que fiz o relacionamento errado, da forma que está para cada município cadastrado tenho que cadastrar novamente os bairros que são comuns, Centro por exemplo. Se puder dar uma olhada agradeço muito.
https://www.dropbox.com/s/ovmolxp31vbtmao/InfoSys.rar?dl=0
Meu objetivo é ter o endereço cadastrado uma única vez. Como terei milhares de cadastros de clientes, fornecedores, funcionários etc, irei buscar o cadastro no endereço que já está cadastrado. Meu objetivo é ao acionar a combo estado por exemplo irá listar somente os municípios daquele estado, da mesma forma para município, bairro e logradouro. Segue o link Para você dar uma olhada. Teste com o frmCadCli. Acredito que fiz o relacionamento errado, da forma que está para cada município cadastrado tenho que cadastrar novamente os bairros que são comuns, Centro por exemplo. Se puder dar uma olhada agradeço muito.
https://www.dropbox.com/s/ovmolxp31vbtmao/InfoSys.rar?dl=0
Noobezinho- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4140
Registrado : 29/06/2012
Edelson
Fazer tabelas para tipo de logradouro, nomelogradouro, cidade, uf, etc... é bonitinho de se ver.
Mas...
Na prática, o usuário vai odiar isso.
Imagine, para cadastrar um endereço, quanto coisa ele terá que fazer.
Então, o que fiz
Utilizei somente a tabela tbl_Logradouros.
Modifiquei apenas o formulário frmCadcli e o frmCadLog
Veja que utilizo o CEP pois é um número único para um logradouros em todo o Brasil.
Comece ver a tabela , o form cliente e o form de cadastro de logradouros.
Como eliminei alguns objetos, terá que fazer um pente fino no aplicativo.
Link do download
Fazer tabelas para tipo de logradouro, nomelogradouro, cidade, uf, etc... é bonitinho de se ver.
Mas...
Na prática, o usuário vai odiar isso.
Imagine, para cadastrar um endereço, quanto coisa ele terá que fazer.
Então, o que fiz
Utilizei somente a tabela tbl_Logradouros.
Modifiquei apenas o formulário frmCadcli e o frmCadLog
Veja que utilizo o CEP pois é um número único para um logradouros em todo o Brasil.
Comece ver a tabela , o form cliente e o form de cadastro de logradouros.
Como eliminei alguns objetos, terá que fazer um pente fino no aplicativo.
Link do download
.................................................................................
A pergunta que não quer calar:
Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
para enviar parte do projeto, não temos mais continuidade do tópico?
Crê que temos bolas de cristal ou está com medo que "roubemos" a
idéia/projeto dele?
Se é tão bom assim...
Ajude a ser ajudado:
Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
sem precisar procurar o mesmo.
Edelson Vieira- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 207
Registrado : 22/08/2015
Boa noite Noobezinho!
Estive ocupado e só agora pude baixar o arquivo. Achei interessante, vou fazer uns testes e te retorno. Mas me tire uma dúvida. Depois que a tabela tiver alguns milhares de registros como vou encontrar o endereço na combo se o cliente não souber o cep?
Estive ocupado e só agora pude baixar o arquivo. Achei interessante, vou fazer uns testes e te retorno. Mas me tire uma dúvida. Depois que a tabela tiver alguns milhares de registros como vou encontrar o endereço na combo se o cliente não souber o cep?
Edelson Vieira- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 207
Registrado : 22/08/2015
Noobezinho! Bom dia.
Estive fazendo uns testes e observei que se eu não souber o cep e se eu tiver 100 mil endereços cadastrados. Terei que acionar a seta 100 mil vezes para localizar o último registro? Não teria como eu digitar o nome do logradouro para localiza-lo no combo?
Observei que no evento "Se não estiver na lista" foram utilizadas duas variáveis como parâmetro, NewData e Response. Você poderia comentar o código para eu entender o uso das varáveis? Mais uma vez agradeço.
Estive fazendo uns testes e observei que se eu não souber o cep e se eu tiver 100 mil endereços cadastrados. Terei que acionar a seta 100 mil vezes para localizar o último registro? Não teria como eu digitar o nome do logradouro para localiza-lo no combo?
Observei que no evento "Se não estiver na lista" foram utilizadas duas variáveis como parâmetro, NewData e Response. Você poderia comentar o código para eu entender o uso das varáveis? Mais uma vez agradeço.
Noobezinho- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4140
Registrado : 29/06/2012
Edelson
Melhor assim:
Para aprender sobre comando, digite
o comando na janela imediata (a janelinha abaixo da janela de código VBA),
ou vá na palavra, se ela estiver no código.
Clique sobre a palavra e aperte F1.
A janela da ajuda abrirá com as informações.
As vezes o help do Access não diz muita coisa.
Então digite no google : ms access nomedocomando
Aqui está o exemplo modificado de novo.
Eu deixeis as duas combos a escolha
Download do arquivo
Melhor assim:
Para aprender sobre comando, digite
o comando na janela imediata (a janelinha abaixo da janela de código VBA),
ou vá na palavra, se ela estiver no código.
Clique sobre a palavra e aperte F1.
A janela da ajuda abrirá com as informações.
As vezes o help do Access não diz muita coisa.
Então digite no google : ms access nomedocomando
Aqui está o exemplo modificado de novo.
Eu deixeis as duas combos a escolha
Download do arquivo
.................................................................................
A pergunta que não quer calar:
Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
para enviar parte do projeto, não temos mais continuidade do tópico?
Crê que temos bolas de cristal ou está com medo que "roubemos" a
idéia/projeto dele?
Se é tão bom assim...
Ajude a ser ajudado:
Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
sem precisar procurar o mesmo.
Edelson Vieira- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 207
Registrado : 22/08/2015
Bom dia Noobezinho!
Obrigado pela orientação.
Vou testar os dois e ver qual melhor atende. Se eu cadastrar um endereço chamando diretamente o cadastro de logradouros, se o formulário de cadastro de clientes estiver fechado ocorre um erro ao fechar o formulário de cadastro de logradouros (lembrando que devo utilizar o mesmo procedimento para outros cadastros). Como eu resolvo isso? Perdoe a minha ignorância, mas ao clicar na combo logradouro o campo endereço não está sendo preenchido. Olhei o código e comparei com o código da combo endereço e parece que não tem nada de errado. Ao clicar na combo endereço o campo logradouro é preenchido, mas ao clicar na combo logradouro o campo endereço fica em branco.
Obrigado pela orientação.
Vou testar os dois e ver qual melhor atende. Se eu cadastrar um endereço chamando diretamente o cadastro de logradouros, se o formulário de cadastro de clientes estiver fechado ocorre um erro ao fechar o formulário de cadastro de logradouros (lembrando que devo utilizar o mesmo procedimento para outros cadastros). Como eu resolvo isso? Perdoe a minha ignorância, mas ao clicar na combo logradouro o campo endereço não está sendo preenchido. Olhei o código e comparei com o código da combo endereço e parece que não tem nada de errado. Ao clicar na combo endereço o campo logradouro é preenchido, mas ao clicar na combo logradouro o campo endereço fica em branco.
Noobezinho- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4140
Registrado : 29/06/2012
Edelson
Como disse, terá que escolher qual das combo irá usar,
convertendo a outra para caixa de texto.
Veja que, em qualquer situação, terá que pesquisar no site
do Correios o CEP do logradouro se o cliente não souber.
No evento Após Atualizar do cbo_CEP, corrija :
Me.txtcliEndereco = Me.cbo_CEP.Column(0)
Me.txtcliBairro = Me.cbo_CEP.Column(2)
Me.txtcliCidade = Me.cbo_CEP.Column(3)
Me.txtcliUf = Me.cbo_CEP.Column(4)
Na etiqueta, substitua logradouro por CEP
Para poder usar o formulário de cadastro de logradouros (frmCadLog),
substitua o código do evento Ao fechar para esse:
If EstaCarregado("frmCadCli") Then
DoCmd.RunCommand acCmdSaveRecord
Forms!frmCadCli!txtcliEndereco.Requery
End If
O código irá verificar se o frmCadCli está carregado, chamado
a função com esse nome.
Aqui está a função para copiar e colar num novo módulo básico.
como foi feito com o basCfg/Cnpj
[ ]'s
Como disse, terá que escolher qual das combo irá usar,
convertendo a outra para caixa de texto.
Veja que, em qualquer situação, terá que pesquisar no site
do Correios o CEP do logradouro se o cliente não souber.
No evento Após Atualizar do cbo_CEP, corrija :
Me.txtcliEndereco = Me.cbo_CEP.Column(0)
Me.txtcliBairro = Me.cbo_CEP.Column(2)
Me.txtcliCidade = Me.cbo_CEP.Column(3)
Me.txtcliUf = Me.cbo_CEP.Column(4)
Na etiqueta, substitua logradouro por CEP
Para poder usar o formulário de cadastro de logradouros (frmCadLog),
substitua o código do evento Ao fechar para esse:
If EstaCarregado("frmCadCli") Then
DoCmd.RunCommand acCmdSaveRecord
Forms!frmCadCli!txtcliEndereco.Requery
End If
O código irá verificar se o frmCadCli está carregado, chamado
a função com esse nome.
Aqui está a função para copiar e colar num novo módulo básico.
como foi feito com o basCfg/Cnpj
- Código:
Function EstaCarregado(ByVal strNomeDoFormulário As String) As Boolean
' Recebe: um nome de formulário
' Função: determina se um formulário está carregado
' Retorna: True se o formulário especificado está carregado;
' False se o formulário especificado não está carregado.
' Do: Capítulo 25 do Guia do Usuário
Const conModoEstrutura = 0
Const conEstadoObjFechado = 0
EstaCarregado = False
If SysCmd(acSysCmdGetObjectState, acForm, strNomeDoFormulário) <> conEstadoObjFechado Then
If Forms(strNomeDoFormulário).CurrentView <> conModoEstrutura Then
EstaCarregado = True
End If
End If
End Function
[ ]'s
.................................................................................
A pergunta que não quer calar:
Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
para enviar parte do projeto, não temos mais continuidade do tópico?
Crê que temos bolas de cristal ou está com medo que "roubemos" a
idéia/projeto dele?
Se é tão bom assim...
Ajude a ser ajudado:
Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
sem precisar procurar o mesmo.
Edelson Vieira- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 207
Registrado : 22/08/2015
Amigo Noobezinho!
Corrigí o código da cboCep e deu certinho.
Utilizei a variável que você me sugeriu em outra mensagem e no evento ao fechar do formulário de cadastro de logradouros substituí (frmCadCli) por (MeuForm) para eu poder utilizar com outro formulário, (frmCadForn) por exemplo. Com o frmCadCli deu certo, ainda não testei com outros. Ah! Quando eu disse se o cliente não souber o CEP, seria para o caso de selecionar na combo um CEP já cadastrado. Com o atual que você me enviou posso localizar pelo endereço. Mais uma vez agradeço a sua disponibilidade. Estou fazendo alguns testes e acho que está ficando Show de bola. Realmente sua sugestão é a melhor opção.
PS.: Vou fazer mais alguns testes antes de clicar em Resolvido.
Obrigado "Deus Abençoe abundantemente a você e sua Família"
Um grande abraço.
Corrigí o código da cboCep e deu certinho.
Utilizei a variável que você me sugeriu em outra mensagem e no evento ao fechar do formulário de cadastro de logradouros substituí (frmCadCli) por (MeuForm) para eu poder utilizar com outro formulário, (frmCadForn) por exemplo. Com o frmCadCli deu certo, ainda não testei com outros. Ah! Quando eu disse se o cliente não souber o CEP, seria para o caso de selecionar na combo um CEP já cadastrado. Com o atual que você me enviou posso localizar pelo endereço. Mais uma vez agradeço a sua disponibilidade. Estou fazendo alguns testes e acho que está ficando Show de bola. Realmente sua sugestão é a melhor opção.
PS.: Vou fazer mais alguns testes antes de clicar em Resolvido.
Obrigado "Deus Abençoe abundantemente a você e sua Família"
Um grande abraço.
Noobezinho- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4140
Registrado : 29/06/2012
Edelson
Sempre utilize um formulário por vez, salvo quando um chama um outro apenas.
Assim terá a área de trabalho do aplicativo sempre limpa.
Fazendo assim então esse código funcionará:
If EstaCarregado("frmCadCli") or EstáCarregador("frmNomeform") or estáCarre... Then
[ ]'s
Sempre utilize um formulário por vez, salvo quando um chama um outro apenas.
Assim terá a área de trabalho do aplicativo sempre limpa.
Fazendo assim então esse código funcionará:
If EstaCarregado("frmCadCli") or EstáCarregador("frmNomeform") or estáCarre... Then
[ ]'s
.................................................................................
A pergunta que não quer calar:
Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
para enviar parte do projeto, não temos mais continuidade do tópico?
Crê que temos bolas de cristal ou está com medo que "roubemos" a
idéia/projeto dele?
Se é tão bom assim...
Ajude a ser ajudado:
Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
sem precisar procurar o mesmo.
Edelson Vieira- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 207
Registrado : 22/08/2015
Bom dia Noobezinho!
Neste caso como ficaria a sequencia do código? Pois a sequencia faz referencia ao formulário.
Neste caso como ficaria a sequencia do código? Pois a sequencia faz referencia ao formulário.
Noobezinho- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4140
Registrado : 29/06/2012
Edelson
Escrevi besteira.
Como tem mais de dois formulários, como pensei não irá funcionar
Então:
1 - Num módulo básico (qualquer módulo que não seja de formulário)
coloque:
Public NomeForm as string ' Estamos definindo uma variável global.
No código da propriedade não está na lista das duas combos,coloque a alinha em azul:
meuForm = Me.Name
DoCmd.OpenForm "frmCadLog"
Na propriedade Ao Fechar do formulário frmCadLog:
DoCmd.RunCommand acCmdSaveRecord
If Not IsNull(meuForm) Then
Forms(meuForm)!txtcliEndereco.Requery
meuForm = Null ' isso limpa a variável
End If
[ ]'s
Escrevi besteira.
Como tem mais de dois formulários, como pensei não irá funcionar
Então:
1 - Num módulo básico (qualquer módulo que não seja de formulário)
coloque:
Public NomeForm as string ' Estamos definindo uma variável global.
No código da propriedade não está na lista das duas combos,coloque a alinha em azul:
meuForm = Me.Name
DoCmd.OpenForm "frmCadLog"
Na propriedade Ao Fechar do formulário frmCadLog:
DoCmd.RunCommand acCmdSaveRecord
If Not IsNull(meuForm) Then
Forms(meuForm)!txtcliEndereco.Requery
meuForm = Null ' isso limpa a variável
End If
[ ]'s
.................................................................................
A pergunta que não quer calar:
Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
para enviar parte do projeto, não temos mais continuidade do tópico?
Crê que temos bolas de cristal ou está com medo que "roubemos" a
idéia/projeto dele?
Se é tão bom assim...
Ajude a ser ajudado:
Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
sem precisar procurar o mesmo.
Edelson Vieira- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 207
Registrado : 22/08/2015
Noobezinho.
Vou fazer os testes e te retorno.
Eu tinha utilizado o seguinte:
Evento se não está na lista combo frmCadCli ou outro.
Private Sub cbo_CEP_NotInList(NewData As String, Response As Integer)
Response = acDataErrContinue
MeuForm = Me.Name
If MsgBox("Esse logradouro não está cadastrado." & vbCrLf & "Deseja cadastrar?", vbQuestion + vbYesNo, "Adicionar registro") = vbYes Then
DoCmd.OpenForm "frmCadLog"
Forms!frmCadLog!CEP = Format(NewData, "00000-000")
Me.cbo_CEP.Undo
End If
End Sub
Evento ao fechar frmCadLog
Private Sub Form_Close()
If EstaCarregado(MeuForm) Then
DoCmd.RunCommand acCmdSaveRecord
Forms(MeuForm)!txtEndereco.Requery
Forms(MeuForm)!cbo_CEP.Requery
End If
End Sub
Até então não percebí nenhum erro. Por favor dê uma olhada e me diz se este código também resolveria. Faça suas críticas.
PS.: Eu utilizaria o mesmo nome dos campos em ambos os formulários.
Vou fazer os testes e te retorno.
Eu tinha utilizado o seguinte:
Evento se não está na lista combo frmCadCli ou outro.
Private Sub cbo_CEP_NotInList(NewData As String, Response As Integer)
Response = acDataErrContinue
MeuForm = Me.Name
If MsgBox("Esse logradouro não está cadastrado." & vbCrLf & "Deseja cadastrar?", vbQuestion + vbYesNo, "Adicionar registro") = vbYes Then
DoCmd.OpenForm "frmCadLog"
Forms!frmCadLog!CEP = Format(NewData, "00000-000")
Me.cbo_CEP.Undo
End If
End Sub
Evento ao fechar frmCadLog
Private Sub Form_Close()
If EstaCarregado(MeuForm) Then
DoCmd.RunCommand acCmdSaveRecord
Forms(MeuForm)!txtEndereco.Requery
Forms(MeuForm)!cbo_CEP.Requery
End If
End Sub
Até então não percebí nenhum erro. Por favor dê uma olhada e me diz se este código também resolveria. Faça suas críticas.
PS.: Eu utilizaria o mesmo nome dos campos em ambos os formulários.
Noobezinho- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4140
Registrado : 29/06/2012
Edelson
Está correto também.
O que fiz foi somente eliminar o uso da função estacarregado().
[ ]'s
Está correto também.
O que fiz foi somente eliminar o uso da função estacarregado().
[ ]'s
.................................................................................
A pergunta que não quer calar:
Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
para enviar parte do projeto, não temos mais continuidade do tópico?
Crê que temos bolas de cristal ou está com medo que "roubemos" a
idéia/projeto dele?
Se é tão bom assim...
Ajude a ser ajudado:
Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
sem precisar procurar o mesmo.
Edelson Vieira- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 207
Registrado : 22/08/2015
Valeu Noobezinho!
Vou acabar de implementar. Depois posto o resultado.
Um grande abraço.
Vou acabar de implementar. Depois posto o resultado.
Um grande abraço.
Edelson Vieira- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 207
Registrado : 22/08/2015
Noobezinho!
Ao abrir a tabela tblClientes, observei que no campo endereço está mostrando o CEP onde deveria mostrar o nome da rua. Pode me ajudar com isso? Parece que a configuração está correta Coluna Acoplada 1 Número de colunas 2 Largura 0cm;2,5cm. Não deveria mostrar o nome em vez do CEP? Como na tbl_logradouros o campo endereço é a coluna 3 tentei colocar número de colunas 3 Largura 0cm;0cm;2,5cm, mas sem sucesso.
Ao abrir a tabela tblClientes, observei que no campo endereço está mostrando o CEP onde deveria mostrar o nome da rua. Pode me ajudar com isso? Parece que a configuração está correta Coluna Acoplada 1 Número de colunas 2 Largura 0cm;2,5cm. Não deveria mostrar o nome em vez do CEP? Como na tbl_logradouros o campo endereço é a coluna 3 tentei colocar número de colunas 3 Largura 0cm;0cm;2,5cm, mas sem sucesso.
Noobezinho- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4140
Registrado : 29/06/2012
Conserte:
Private Sub cbo_CEP_AfterUpdate()
Me.txtcliEndereco = Me.cbo_CEP.Column(1)
Me.txtcliBairro = Me.cbo_CEP.Column(2)
Me.txtcliCidade = Me.cbo_CEP.Column(3)
Me.txtcliUf = Me.cbo_CEP.Column(4)
End Sub
Private Sub txtcliEndereco_AfterUpdate()
Me.cbo_CEP = Me.txtcliEndereco.Column(0)
Me.txtcliBairro = Me.txtcliEndereco.Column(2)
Me.txtcliCidade = Me.txtcliEndereco.Column(3)
Me.txtcliUf = Me.txtcliEndereco.Column(4)
End Sub
Private Sub cbo_CEP_AfterUpdate()
Me.txtcliEndereco = Me.cbo_CEP.Column(1)
Me.txtcliBairro = Me.cbo_CEP.Column(2)
Me.txtcliCidade = Me.cbo_CEP.Column(3)
Me.txtcliUf = Me.cbo_CEP.Column(4)
End Sub
Private Sub txtcliEndereco_AfterUpdate()
Me.cbo_CEP = Me.txtcliEndereco.Column(0)
Me.txtcliBairro = Me.txtcliEndereco.Column(2)
Me.txtcliCidade = Me.txtcliEndereco.Column(3)
Me.txtcliUf = Me.txtcliEndereco.Column(4)
End Sub
.................................................................................
A pergunta que não quer calar:
Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
para enviar parte do projeto, não temos mais continuidade do tópico?
Crê que temos bolas de cristal ou está com medo que "roubemos" a
idéia/projeto dele?
Se é tão bom assim...
Ajude a ser ajudado:
Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
sem precisar procurar o mesmo.
Edelson Vieira- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 207
Registrado : 22/08/2015
Bom dia Noobezinho!
Com esta alteração voltamos a ter o problema da combo endereço ficar em branco ao selecionar o CEP e ainda assim continua aparecendo o CEP no campo endereço da tabela.
Com esta alteração voltamos a ter o problema da combo endereço ficar em branco ao selecionar o CEP e ainda assim continua aparecendo o CEP no campo endereço da tabela.
Noobezinho- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4140
Registrado : 29/06/2012
Esse código testei antes de publicar
Verifique se copiou corretamente.
Aguardo...
Verifique se copiou corretamente.
Aguardo...
.................................................................................
A pergunta que não quer calar:
Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
para enviar parte do projeto, não temos mais continuidade do tópico?
Crê que temos bolas de cristal ou está com medo que "roubemos" a
idéia/projeto dele?
Se é tão bom assim...
Ajude a ser ajudado:
Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
sem precisar procurar o mesmo.
Edelson Vieira- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 207
Registrado : 22/08/2015
Copiei certinho. Segue o link Dê uma olhada por favor.
Se eu selecionar o endereço, o campo CEP é atualizado, selecionando CEP, o campo endereço fica em branco e na tabela o campo endereço aparece o CEP. Mais uma vez agradeço pela paciência.
https://www.dropbox.com/sh/hjsyega09yadgpx/AAA-b5b_JWJ9I68s6PeI_VT9a?dl=0
Se eu selecionar o endereço, o campo CEP é atualizado, selecionando CEP, o campo endereço fica em branco e na tabela o campo endereço aparece o CEP. Mais uma vez agradeço pela paciência.
https://www.dropbox.com/sh/hjsyega09yadgpx/AAA-b5b_JWJ9I68s6PeI_VT9a?dl=0
Noobezinho- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4140
Registrado : 29/06/2012
Edelson
Estou enviando o arquivo que eu tenho aqui e
que está funcionando perfeitamente.
Detalhe: No formulário frmCadCli, não tem campo/controle Logradouro.
Nele tem CEP, Endereço(no qual está incluído se é rua, avenida, servidão, etc...), número, complemento, cidade e estado.
Download
Estou enviando o arquivo que eu tenho aqui e
que está funcionando perfeitamente.
Detalhe: No formulário frmCadCli, não tem campo/controle Logradouro.
Nele tem CEP, Endereço(no qual está incluído se é rua, avenida, servidão, etc...), número, complemento, cidade e estado.
Download
.................................................................................
A pergunta que não quer calar:
Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
para enviar parte do projeto, não temos mais continuidade do tópico?
Crê que temos bolas de cristal ou está com medo que "roubemos" a
idéia/projeto dele?
Se é tão bom assim...
Ajude a ser ajudado:
Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
sem precisar procurar o mesmo.
Edelson Vieira- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 207
Registrado : 22/08/2015
Noobezinho!
Mais uma vez agradeço sua atenção e disponibilidade. Se me permite mais uma pergunta. Como faço para ao clicar na combo endereço exibir além do endereço, também o CEP, como acontece ao clicar na combo CEP. Se eu colocar largura das colunas 2cm; 3cm, aparecem os dois, porém ao selecionar fica em branco. Espero não ser necessário tomar mais o seu tempo. Obrigado por tudo.
Mais uma vez agradeço sua atenção e disponibilidade. Se me permite mais uma pergunta. Como faço para ao clicar na combo endereço exibir além do endereço, também o CEP, como acontece ao clicar na combo CEP. Se eu colocar largura das colunas 2cm; 3cm, aparecem os dois, porém ao selecionar fica em branco. Espero não ser necessário tomar mais o seu tempo. Obrigado por tudo.
Noobezinho- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4140
Registrado : 29/06/2012
Na propriedade Largura das colunas da combo coloque:
2cm;3,554cm;0cm;0cm;0cm
Se comparar, verá que mudei a largura da primeira coluna da combo.
[ ]'s
2cm;3,554cm;0cm;0cm;0cm
Se comparar, verá que mudei a largura da primeira coluna da combo.
[ ]'s
.................................................................................
A pergunta que não quer calar:
Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
para enviar parte do projeto, não temos mais continuidade do tópico?
Crê que temos bolas de cristal ou está com medo que "roubemos" a
idéia/projeto dele?
Se é tão bom assim...
Ajude a ser ajudado:
Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
sem precisar procurar o mesmo.
Edelson Vieira- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 207
Registrado : 22/08/2015
Noobezinho!
Acho que estou fazendo algo errado. Estou selecionando a combo txtCliEndereco e na propriedade Largura das colunas alterei a primeira coluna de 0cm; para 2cm como você sugeriu. Após alterar a largura da primeira coluna aparecem os dois campos na combo, porém ao selecionar qualquer endereço o campo fica em branco.
Acho que estou fazendo algo errado. Estou selecionando a combo txtCliEndereco e na propriedade Largura das colunas alterei a primeira coluna de 0cm; para 2cm como você sugeriu. Após alterar a largura da primeira coluna aparecem os dois campos na combo, porém ao selecionar qualquer endereço o campo fica em branco.
Noobezinho- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4140
Registrado : 29/06/2012
Edelson
Na realidade não deveria ser necessário isso, assim que puder,
vejo isso mais a fundo:
Acrescente essa linha no evento após Atualizar dessa combo:
Me.txtcliEndereco = Me.txtcliEndereco.Column(1)
[ ]'s
Na realidade não deveria ser necessário isso, assim que puder,
vejo isso mais a fundo:
Acrescente essa linha no evento após Atualizar dessa combo:
Me.txtcliEndereco = Me.txtcliEndereco.Column(1)
[ ]'s
.................................................................................
A pergunta que não quer calar:
Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
para enviar parte do projeto, não temos mais continuidade do tópico?
Crê que temos bolas de cristal ou está com medo que "roubemos" a
idéia/projeto dele?
Se é tão bom assim...
Ajude a ser ajudado:
Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
sem precisar procurar o mesmo.
Edelson Vieira- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 207
Registrado : 22/08/2015
Noobezinho!
Mesmo acrescentando a linha o campo continua em branco. Fiz um teste colocando outra coluna e não houve interferência. Só ocorre interferência com a primeira coluna.
Mesmo acrescentando a linha o campo continua em branco. Fiz um teste colocando outra coluna e não houve interferência. Só ocorre interferência com a primeira coluna.
Noobezinho- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4140
Registrado : 29/06/2012
Mostre como está todo o código da propriedade após atualizar dessa combo.
.................................................................................
A pergunta que não quer calar:
Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
para enviar parte do projeto, não temos mais continuidade do tópico?
Crê que temos bolas de cristal ou está com medo que "roubemos" a
idéia/projeto dele?
Se é tão bom assim...
Ajude a ser ajudado:
Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
sem precisar procurar o mesmo.
Edelson Vieira- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 207
Registrado : 22/08/2015
Private Sub txtcliEndereco_AfterUpdate()
Me.cbo_CEP = Me.txtcliEndereco.Column(0)
Me.txtcliEndereco = Me.txtcliEndereco.Column(1)
Me.txtcliBairro = Me.txtcliEndereco.Column(2)
Me.txtcliCidade = Me.txtcliEndereco.Column(3)
Me.txtcliUf = Me.txtcliEndereco.Column(4)
End Sub
Me.cbo_CEP = Me.txtcliEndereco.Column(0)
Me.txtcliEndereco = Me.txtcliEndereco.Column(1)
Me.txtcliBairro = Me.txtcliEndereco.Column(2)
Me.txtcliCidade = Me.txtcliEndereco.Column(3)
Me.txtcliUf = Me.txtcliEndereco.Column(4)
End Sub
Noobezinho- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4140
Registrado : 29/06/2012
Envie a cópia do aplicativo onde está implementando esse código.
Aguardo...
Aguardo...
.................................................................................
A pergunta que não quer calar:
Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
para enviar parte do projeto, não temos mais continuidade do tópico?
Crê que temos bolas de cristal ou está com medo que "roubemos" a
idéia/projeto dele?
Se é tão bom assim...
Ajude a ser ajudado:
Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
sem precisar procurar o mesmo.
Edelson Vieira- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 207
Registrado : 22/08/2015
Bom dia Noobezinho!
Segue o Link. É o mesmo aplicativo, só fiz algumas pequenas alterações mas, mesmo antes das alterações eu fiz os testes e acontecem do campo endereço ficar em branco se mudar a propriedade Largura da primeira coluna, só funciona se estiver 0cm. Será que o problema pode estar ocorrendo porque havia relações anteriores. Observei que apesar dos campos Bairro e Cidade serem do tipo textBox, na tblClientes está aparecendo como se fosse caixa de combinação (que era antes). Outra coisa, por que no frmCadLog não aparecem os logradouros já cadastrados?
https://www.dropbox.com/s/xhrnli0vq9rcgjf/InfoSysMod_II_Noob.rar?dl=0
Segue o Link. É o mesmo aplicativo, só fiz algumas pequenas alterações mas, mesmo antes das alterações eu fiz os testes e acontecem do campo endereço ficar em branco se mudar a propriedade Largura da primeira coluna, só funciona se estiver 0cm. Será que o problema pode estar ocorrendo porque havia relações anteriores. Observei que apesar dos campos Bairro e Cidade serem do tipo textBox, na tblClientes está aparecendo como se fosse caixa de combinação (que era antes). Outra coisa, por que no frmCadLog não aparecem os logradouros já cadastrados?
https://www.dropbox.com/s/xhrnli0vq9rcgjf/InfoSysMod_II_Noob.rar?dl=0
Noobezinho- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4140
Registrado : 29/06/2012
Edelson
Ta o exemplo modificado
Fiz um pente fino, mudei muita coisa, a começar pela tabela de clientes.
Download
[ ]'s
Ta o exemplo modificado
Fiz um pente fino, mudei muita coisa, a começar pela tabela de clientes.
Download
[ ]'s
.................................................................................
A pergunta que não quer calar:
Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
para enviar parte do projeto, não temos mais continuidade do tópico?
Crê que temos bolas de cristal ou está com medo que "roubemos" a
idéia/projeto dele?
Se é tão bom assim...
Ajude a ser ajudado:
Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
sem precisar procurar o mesmo.
Edelson Vieira- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 207
Registrado : 22/08/2015
Bom dia!
Meus sinceros agradecimentos ao Amigo Noobezinho pela paciência e disponibilidade em compartilhar seu conhecimento. Desu abençoe abundantemente a você e sua família.
Edelson
Meus sinceros agradecimentos ao Amigo Noobezinho pela paciência e disponibilidade em compartilhar seu conhecimento. Desu abençoe abundantemente a você e sua família.
Edelson
Noobezinho- Moderador
- Respeito às regras :
Sexo :
Localização :
Mensagens : 4140
Registrado : 29/06/2012
Opa!
Se foi resolvido, faltou colocar o resolvido no título do tópico.
Veja como, ali embaixo, na minha assinatura.
Boa sorte !
Se foi resolvido, faltou colocar o resolvido no título do tópico.
Veja como, ali embaixo, na minha assinatura.
Boa sorte !
.................................................................................
A pergunta que não quer calar:
Por quê quando alguém vem pedir ajuda e conforme o caso pedimos
para enviar parte do projeto, não temos mais continuidade do tópico?
Crê que temos bolas de cristal ou está com medo que "roubemos" a
idéia/projeto dele?
Se é tão bom assim...
Ajude a ser ajudado:
Seja objetivo na dúvida, dê os detalhes do que precisa, sem rodeios.
Quando anexar teu projeto, diga onde está o problema, ganhamos mais tempo
sem precisar procurar o mesmo.
Edelson Vieira- Avançado
- Respeito às regras :
Sexo :
Localização :
Mensagens : 207
Registrado : 22/08/2015
Resolvido
Conteúdo patrocinado
» [Resolvido]Não salvar dados do formulário principal ao clicar no subformulario
» [Resolvido]Atualizar a data ao clicar no botao salvar
» [Resolvido]Clicar 2 vezes e chamar outro formulario
» Apos clicar no botão salvar atualizar tabelas
» [Resolvido]Ao clicar em formulário contínuo, em certo campo, ir paro o registro especifico em outro formulário
» [Resolvido]Atualizar a data ao clicar no botao salvar
» [Resolvido]Clicar 2 vezes e chamar outro formulario
» Apos clicar no botão salvar atualizar tabelas
» [Resolvido]Ao clicar em formulário contínuo, em certo campo, ir paro o registro especifico em outro formulário