MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Atualizar campo de tabela pelo VBA

    Compartilhe

    Antonybrazil
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 102
    Registrado : 13/04/2011

    Atualizar campo de tabela pelo VBA

    Mensagem  Antonybrazil em Qui 19 Maio 2011, 21:24

    Tenho um campo chamado "gestante1" que se encontra na mesma tabela do campo "gestante". Estou tentando atualizar o campo "gestante1" após a atualização do campo "gestante" com o seguinte código. Mas não esta dando certo. Não dá erro. mas tb não atuliza.

    Private Sub Gestante_AfterUpdate()

    Dim db As Database
    Dim rs As Recordset
    Set db = CurrentDb
    Set rs = db.OpenRecordset("dadoscomuns")
    rs.Edit
    rs("Gestante1") = Me.Gestante.Value
    rs.Update
    rs.Close
    db.Close

    End Sub

    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Re: [Resolvido]Atualizar campo de tabela pelo VBA

    Mensagem  criquio em Qui 19 Maio 2011, 21:28

    Talvez porque os dados do formulário ainda não estejam registrados na tabela. Seria esse o caso?


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    Antonybrazil
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 102
    Registrado : 13/04/2011

    Re: [Resolvido]Atualizar campo de tabela pelo VBA

    Mensagem  Antonybrazil em Qui 19 Maio 2011, 21:50

    Não é esse o caso, pois essa expressão é atualizar do formulário para a tabela, não havendo necessidade de estar gravada da tabela antes. Esse exemplo eu tirei aqui do site!!! não sei pq não esta dando certo. Seria pq eu utilizo o Access 2007?

    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12246
    Registrado : 01/03/2011

    Re: [Resolvido]Atualizar campo de tabela pelo VBA

    Mensagem  HARYSOHN em Qui 19 Maio 2011, 22:04

    Esses dois campos estão no form?


    .................................................................................
    PILOTO
    الله أكبر Paz, Justiça e Liberdade! الله أكبر
    CLIQUE AQUI E VEJA O VÍDEO >>> BIOMETRIA EM ACCESS

    Iniciando no Access? Então veja esse tópico e também esse


    BUSCA NO FÓRUM - CLIQUE AQUI!!!

    Quando tua dúvida for RESOLVIDA, dê retorno com AGRADECIMENTO a aqueles que gastaram seu tempo em te ajudar.
    Clique no botão Resolvido logo acima do botão Enviar, do lado direito. Todos nós agradecemos.  
    [Você precisa estar registrado e conectado para ver esta imagem.]

    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Re: [Resolvido]Atualizar campo de tabela pelo VBA

    Mensagem  criquio em Qui 19 Maio 2011, 22:09

    Você pode tentar vincular esse campo ao referido campo na tabela, caso seu formulário seja vinculado, e no evento "Após atualizar" do campo 1, coloque assim:

    Me.Campo2 = Me.Campo1

    Só não entendi porque ter dois campos na tabela com o mesmo valor.


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12246
    Registrado : 01/03/2011

    Re: [Resolvido]Atualizar campo de tabela pelo VBA

    Mensagem  HARYSOHN em Qui 19 Maio 2011, 22:19

    Exato amigão, por isso perguntei se tais campos estariam no form..

    Saudações


    .................................................................................
    PILOTO
    الله أكبر Paz, Justiça e Liberdade! الله أكبر
    CLIQUE AQUI E VEJA O VÍDEO >>> BIOMETRIA EM ACCESS

    Iniciando no Access? Então veja esse tópico e também esse


    BUSCA NO FÓRUM - CLIQUE AQUI!!!

    Quando tua dúvida for RESOLVIDA, dê retorno com AGRADECIMENTO a aqueles que gastaram seu tempo em te ajudar.
    Clique no botão Resolvido logo acima do botão Enviar, do lado direito. Todos nós agradecemos.  
    [Você precisa estar registrado e conectado para ver esta imagem.]

    Antonybrazil
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 102
    Registrado : 13/04/2011

    Re: [Resolvido]Atualizar campo de tabela pelo VBA

    Mensagem  Antonybrazil em Qui 19 Maio 2011, 22:29

    Então. O motivo é bem complexo de explicar! Mas os dois campos não estao no mesmo form não, se estivessem realmente nao daria trabalho. Estranho é que esse código deveria funcionar. Estou encucado com isso. Encontrei vários exemplos, inclusive aqui no fórum, não sei oque esta dando errado.

    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12246
    Registrado : 01/03/2011

    Re: [Resolvido]Atualizar campo de tabela pelo VBA

    Mensagem  HARYSOHN em Qui 19 Maio 2011, 22:36

    sao em form e subForm?

    se o outro campo estiver no subForm tem que fazer referencia a ele...

    Mas... se estao na mesma tabela... .. oras.. agora quem nao entendeu fui eu..

    se os campos estao na mesma tabela.. obrigatoriamente ele esta vinculado ao form desta tabela...


    .................................................................................
    PILOTO
    الله أكبر Paz, Justiça e Liberdade! الله أكبر
    CLIQUE AQUI E VEJA O VÍDEO >>> BIOMETRIA EM ACCESS

    Iniciando no Access? Então veja esse tópico e também esse


    BUSCA NO FÓRUM - CLIQUE AQUI!!!

    Quando tua dúvida for RESOLVIDA, dê retorno com AGRADECIMENTO a aqueles que gastaram seu tempo em te ajudar.
    Clique no botão Resolvido logo acima do botão Enviar, do lado direito. Todos nós agradecemos.  
    [Você precisa estar registrado e conectado para ver esta imagem.]

    Antonybrazil
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 102
    Registrado : 13/04/2011

    Re: [Resolvido]Atualizar campo de tabela pelo VBA

    Mensagem  Antonybrazil em Qui 19 Maio 2011, 22:39

    O motivo do campo "gestante1" é que nem todas as gestantes do campo "gestante" estarão no campo "gestante1". De acordo com a clausula Where do código.
    Não é subforme não!!

    Private Sub Gestante_AfterUpdate()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Set db = CurrentDb
    Set rs = db.OpenRecordset("Select * from dadoscomuns Where gestante >= 5")

    rs.Edit
    rs("Gestante1") = Me.Gestante.Value
    rs.Update
    rs.Close
    db.Close

    End Sub

    HARYSOHN
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 12246
    Registrado : 01/03/2011

    Re: [Resolvido]Atualizar campo de tabela pelo VBA

    Mensagem  HARYSOHN em Qui 19 Maio 2011, 22:42

    Creio que o ideal seria voce postar seu BD aqui, assim mais pessoas poderiam lhe ajudar...
    para mim, sem ve-lo, esta um tanto quando confuso.. para mim é claro..

    Saudaçoes


    .................................................................................
    PILOTO
    الله أكبر Paz, Justiça e Liberdade! الله أكبر
    CLIQUE AQUI E VEJA O VÍDEO >>> BIOMETRIA EM ACCESS

    Iniciando no Access? Então veja esse tópico e também esse


    BUSCA NO FÓRUM - CLIQUE AQUI!!!

    Quando tua dúvida for RESOLVIDA, dê retorno com AGRADECIMENTO a aqueles que gastaram seu tempo em te ajudar.
    Clique no botão Resolvido logo acima do botão Enviar, do lado direito. Todos nós agradecemos.  
    [Você precisa estar registrado e conectado para ver esta imagem.]

    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Atualizar campo de tabela pelo VBA

    Mensagem  JPaulo em Sex 20 Maio 2011, 00:27

    Teste por favor sem instanciar a db;

    Private Sub Gestante_AfterUpdate()
    Dim rs As Recordset
    Set rs = CurrentDb.OpenRecordset("Select * from dadoscomuns Where gestante >= 5", dbOpenDynaset)
    If Not rs.EOF Then
    rs.Edit
    rs.Fields("Gestante1").Value = Me.Gestante.Value
    rs.Update
    End If
    rs.Close
    Set rs = Nothing
    End Sub




    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Re: [Resolvido]Atualizar campo de tabela pelo VBA

    Mensagem  criquio em Sex 20 Maio 2011, 00:56

    Eu ainda fiquei sem entender o porque de repetir o nome. Não seria mais prático colocar algum tipo de identificação nesse campo? Tipo "Maior". Não sei o que o >= 5 quer dizer, mas acredito que seria melhor colocar esse significado. Mas cada um sabe o significado que precisa Razz


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    Antonybrazil
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 102
    Registrado : 13/04/2011

    Re: [Resolvido]Atualizar campo de tabela pelo VBA

    Mensagem  Antonybrazil em Sex 20 Maio 2011, 03:48

    Não é o nome que eu vou repetir criquio, e sim a classificação do paciente quanto a dado "gestante" 1-1ºtrimestre, 2-2º trimestre, 3-3º trimestre, 4-não, 5-não se aplica, 6-ignorado etc. Este formulario gera vários relatórios diferentes, um deste relatórios eu não quero que tenha o campo "gestante" alterado NUNCA, ou seja, uma vez gestante (campo <4), sempre gestante. Assim mesmo eu atualizando o estado dessa paciente no futuro, aquele relatorio não será alterado, apenas os outros. Entendeu?

    De qualquer forma eu estou enviando o BD, pois não o código do JPaulo esta dando erro. Obrigado

    Não consegui carregar o arquivo pelo site! Só dá erro. Então estou enviando o link pelo megaupload.

    [Você precisa estar registrado e conectado para ver este link.]


    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8907
    Registrado : 04/11/2009

    Re: [Resolvido]Atualizar campo de tabela pelo VBA

    Mensagem  JPaulo em Sex 20 Maio 2011, 12:30

    Não consigo baixar.

    Coloque aqui por favor e passe o link;

    [Você precisa estar registrado e conectado para ver este link.]



    .................................................................................
    Sucesso e Bons Estudos
    Success and Good Studies

    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]
    [Você precisa estar registrado e conectado para ver esta imagem.] [Você precisa estar registrado e conectado para ver este link.]

    Antonybrazil
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 102
    Registrado : 13/04/2011

    Re: [Resolvido]Atualizar campo de tabela pelo VBA

    Mensagem  Antonybrazil em Sex 20 Maio 2011, 12:55

    JPaulo, se vc clicar em cima do link, dá erro. Copie e cole o link no browser que dá certo. Conforme a situação que expliquei a cima, vc acha esse o melhor procedimento para realiza oq eu quero? obrigado

    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Re: [Resolvido]Atualizar campo de tabela pelo VBA

    Mensagem  criquio em Sex 20 Maio 2011, 13:07

    Para o link funcionar, tem que clicar nele e depois retirar o que vem antes de http na barra de endereços e pressionar Enter.


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Re: [Resolvido]Atualizar campo de tabela pelo VBA

    Mensagem  criquio em Sex 20 Maio 2011, 13:29

    Olha só: você colocou o campo "Nomepaciente" como chave primária. Não serve, pois pode acontecer de ter mais de um cliente com o mesmo nome. O certo é você colocar um campo Numeração automática como chave primária. Foi o que eu fiz aqui. Criei esse campo na tabela, criei um campo no formulário e vinculei-o ao campo da tabela. No evento "Após atualizar" do formulário, coloquei o código abaixo e funcionou:

    Private Sub Form_AfterUpdate()
    If Me.Gestante.Value < 5 Then
    CurrentDb.Execute "UPDATE Dadoscomuns SET Gestante1='" & Me.Gestante & "' WHERE Código = " & Me!txtCódigo & ";"
    Else
    CurrentDb.Execute "UPDATE Dadoscomuns SET Gestante1=null WHERE Código = " & Me!txtCódigo & ";"
    End If
    End Sub


    txtCódigo é o campo chave primária do formulário.


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    Antonybrazil
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 102
    Registrado : 13/04/2011

    Re: [Resolvido]Atualizar campo de tabela pelo VBA

    Mensagem  Antonybrazil em Seg 23 Maio 2011, 16:21

    Deu um trabalho ENORME criar o campo Codigo e atualizar mais de 165 registros em 6 tabelas relacionadas.. ufaaa. Mas realmente um hora poderia aparecer um paciente com o mesmo nome de outro e eu iria ter problemas.

    O código o Criquio deu certo. obrigado a todos.

    criquio
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 11229
    Registrado : 30/12/2009

    Re: [Resolvido]Atualizar campo de tabela pelo VBA

    Mensagem  criquio em Seg 23 Maio 2011, 16:33

    Obrigado pelo retorno. Precisando de novo, assovie Very Happy


    .................................................................................
    Meu novo site: [Você precisa estar registrado e conectado para ver este link.]

    Clique aqui e veja um vídeo que explica como fazer pesquisas no forum.


    DICA: Quando precisar inserir um exemplo do seu aplicativo, siga os procedimentos abaixo:
    1 - faça uma cópia do aplicativo
    2 - retire tudo que não for necessário à solução do problema, exceto o que o aplicativo precisar para funcionar
    3 - use o Compactar/Reparar
    4 - compacte o aplicativo em zip ou rar (zip para postagem como anexo na mensagem)


    Agradeça a quem lhe ajudou, clicando no joinha de uma das mensagens do usuário.
    Positive as mensagens que achar útil, no canto superior direito delas.


    EDHU2009
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3
    Registrado : 28/01/2014

    FICO FELIZ!!

    Mensagem  EDHU2009 em Sab 22 Mar 2014, 03:19

    Sou novo aqui e fico muito feliz em ver o empenho de algumas pessoas aqui do site em tentar ajudar outras . Que Deus os ilumine cada vez mais !!

      Data/hora atual: Dom 04 Dez 2016, 06:03