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


4 participantes

    [Resolvido]Dificuldades com UPDATE

    avatar
    patrickdanielli1
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 21/07/2017

    [Resolvido]Dificuldades com UPDATE Empty [Resolvido]Dificuldades com UPDATE

    Mensagem  patrickdanielli1 13/1/2018, 14:34

    Ola pessoal,
    eu preciso que quando eu seleciono o chkbox(PAGAMENTO) no subformulario(sub_pagamento) seja atualizado a data(DATA_PAGAMENTO) do registro que esta na tabela CAD_LANCAMENTO mas não esta dando certo não acusa nenhum erro porém o update não executa

    Código:
    Dim rst As Recordset
    Set rst = CurrentDb.OpenRecordset("CAD_LANCAMENTO", dbOpenTable)
    rst.MoveFirst
    Do While Not rst.EOF
    With rst
    .Edit

    CurrentDb.Execute "UPDATE CAD_LANCAMENTO Set CAD_LANCAMENTO.DATA_PAGAMENTO = now() where [cod_lancamento] = " & Me.sub_pagamento!cod_lancamento & " and [PAGAMENTO] = -1  "

    .Update
    .MoveNext
    End With

    Loop
    Set rst = Nothing

    att
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3493
    Registrado : 13/12/2016

    [Resolvido]Dificuldades com UPDATE Empty Re: [Resolvido]Dificuldades com UPDATE

    Mensagem  Alexandre Fim 13/1/2018, 14:53

    Olá Patrick,

    Poste seu banco de dados para os membros do fórum analisarem.

    Abraço
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [Resolvido]Dificuldades com UPDATE Empty Re: [Resolvido]Dificuldades com UPDATE

    Mensagem  Assis 13/1/2018, 15:05

    Boa noite

    O Now() resulta em ..... 13/01/2018 19:01:00 -----> é isto que quer ?

    Troque o Now() por Date()

    Trocando fica só 13/01/2018

    Ou como diz o Alexandre .... Poste só essa parte do BD


    .................................................................................
    *** Só sei que nada sei ***
    avatar
    patrickdanielli1
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 21/07/2017

    [Resolvido]Dificuldades com UPDATE Empty Re: [Resolvido]Dificuldades com UPDATE

    Mensagem  patrickdanielli1 13/1/2018, 15:35

    Obrigado o retorno

    então Alexandre Fim sobre postar o banco já tentei mas tem muita coisa relacionada, outros bancos, varias relações complicadas hehe e iria tomar um tempo longo para ir eliminando.

    Assis já tentei com date(), já tentei com um campo "# dt_hoje #" assumindo como valor a data, mas acredito que algo esteja acontecendo na condição(where), os campos cod_lancamento é numeração auto e PAGAMENTO é uma chkbox que assume valor numérico.
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [Resolvido]Dificuldades com UPDATE Empty Re: [Resolvido]Dificuldades com UPDATE

    Mensagem  Assis 13/1/2018, 15:46


    Patrick

    Me.sub_pagamento!cod_lancamento ------> Isto está num subformulário?




    .................................................................................
    *** Só sei que nada sei ***
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Dificuldades com UPDATE Empty Re: [Resolvido]Dificuldades com UPDATE

    Mensagem  Noobezinho 13/1/2018, 15:51

    Pelo fato de ter o sub_ na frente indica que é um subformulário, sim.

    Então a sintaxe correta é:

    Me.sub_pagamento.form!cod_lancamento

    Grande sacada Assis Wink

    [ ]'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?  Twisted Evil
    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.
    avatar
    patrickdanielli1
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 21/07/2017

    [Resolvido]Dificuldades com UPDATE Empty Re: [Resolvido]Dificuldades com UPDATE

    Mensagem  patrickdanielli1 13/1/2018, 16:08

    Obrigado pelo retorno

    Isso mesmo Assis esta no sub

    impressionante como passam batido certas coisas

    isso mesmo Noobezinho corrigido o caminho

    mas sem sucesso
    o update não executa
    Assis
    Assis
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 4772
    Registrado : 06/11/2009

    [Resolvido]Dificuldades com UPDATE Empty Re: [Resolvido]Dificuldades com UPDATE

    Mensagem  Assis 13/1/2018, 16:12

    E assim:

    Forms.Sub_pagamento.cod_lancamento




    .................................................................................
    *** Só sei que nada sei ***
    avatar
    patrickdanielli1
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 21/07/2017

    [Resolvido]Dificuldades com UPDATE Empty Re: [Resolvido]Dificuldades com UPDATE

    Mensagem  patrickdanielli1 13/1/2018, 16:14

    Assis

    agora deu que o objeto não aceita essa propriedade
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Dificuldades com UPDATE Empty Re: [Resolvido]Dificuldades com UPDATE

    Mensagem  Noobezinho 13/1/2018, 16:15

    Não adianta Assis

    A referencia para subformulário tem que ter o .FORM que indica que a referencia é no subformulario.

    Então Patrick

    Não adianta ficarmos dizendo pra você fazer isso ou aquilo, pois devem ter outros motivos para que isso não funcione.

    Não tem jeito, amigo, precisa nos enviar as tabelas/consultas  e formulários afins com 2 registros no mínimo, para que possamos analisar.

    [ ]'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?  Twisted Evil
    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.
    avatar
    patrickdanielli1
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 21/07/2017

    [Resolvido]Dificuldades com UPDATE Empty Re: [Resolvido]Dificuldades com UPDATE

    Mensagem  patrickdanielli1 13/1/2018, 16:40

    Realmente Noobezinho

    tentei aqui, vejam se não dá nenhum erro

    formulário: frm_pagamento

    1 escolher um fornecedor na combo para filtrar o sub
    2 selecionar os registros a serem pagos
    digitar o desconto ou 0 (zero) para sem desconto
    3 o botão pagar q dispara o codigo
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Dificuldades com UPDATE Empty Re: [Resolvido]Dificuldades com UPDATE

    Mensagem  Noobezinho 13/1/2018, 17:51

    Patrick

    Tai o código:

    Talvez falte algum critério, mas deixo para você verificar.

    Estude o código e entenda o que está sendo feito.

    Teste e diga se funfou.

    Código:

    Dim rst As Recordset, frm As Form, frmrst As Recordset

    Set frm = Me.sub_pagamento
    Set frmrst = frm.RecordsetClone
    Set rst = CurrentDb.OpenRecordset(frmrst)
    rst.MoveFirst
    With rst

    Do While Not .EOF

    'Duvidas aqui
    DoCmd.RunSQL "UPDATE CAD_LANCAMENTO SET CAD_LANCAMENTO.DATA_PAGAMENTO = Date(), CAD_LANCAMENTO.PAGAMENTO = True " & _
                 "WHERE (((CAD_LANCAMENTO.cod_lancamento)=" & !cod_lancamento & "));"
    .MoveNext
    End With


    Set rst = Nothing


    Aguardo...

    [ ]'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?  Twisted Evil
    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.
    avatar
    patrickdanielli1
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 21/07/2017

    [Resolvido]Dificuldades com UPDATE Empty Re: [Resolvido]Dificuldades com UPDATE

    Mensagem  patrickdanielli1 13/1/2018, 18:01

    Obrigado pelo retorno

    então Noobezinho

    nesse código vc assume que o subformulário é o recodset ?
    necessariamente não precisava ser a tabela ?

    deu "Erro de compilação, tipos inconpatíveis"
    e setou "Set rst = CurrentDb.OpenRecordset(frmrst)"

    att
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3493
    Registrado : 13/12/2016

    [Resolvido]Dificuldades com UPDATE Empty Re: [Resolvido]Dificuldades com UPDATE

    Mensagem  Alexandre Fim 13/1/2018, 18:16

    Patrick,

    Fiz um pequeno exemplo onde vc seleciona o Tipo de Conta e clica no botão "Pagar", conforme abaixo:

    [Resolvido]Dificuldades com UPDATE Lcto110

    Após realizar o pagamento, o sistema exibe a seguinte tela:

    [Resolvido]Dificuldades com UPDATE Lcto210

    Segue database em anexo para sua análise.


    Espero ter ajudado.

    Um abraço.

    Att,

    Alexandre Fim
    Anexos
    [Resolvido]Dificuldades com UPDATE AttachmentLancamentos.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (58 Kb) Baixado 23 vez(es)
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Dificuldades com UPDATE Empty Re: [Resolvido]Dificuldades com UPDATE

    Mensagem  Noobezinho 13/1/2018, 18:19

    ótimo

    Vou aguardar o retorno do Patrick


    .................................................................................
    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?  Twisted Evil
    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.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3493
    Registrado : 13/12/2016

    [Resolvido]Dificuldades com UPDATE Empty Re: [Resolvido]Dificuldades com UPDATE

    Mensagem  Alexandre Fim 13/1/2018, 18:24

    Ok Noobezinho.
    avatar
    patrickdanielli1
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 21/07/2017

    [Resolvido]Dificuldades com UPDATE Empty Re: [Resolvido]Dificuldades com UPDATE

    Mensagem  patrickdanielli1 13/1/2018, 18:36

    Obrigado pelo retorno

    muito bom seu exemplo Alexandre Fim

    estou tentando adaptar aqui mas com certa dificuldade pois posso precisar pagar vários registros do mesmo fornecedor com descrições parecidas e preciso diminuir o numero de operações do usuário, mas esta indo por enquanto

    tópico resolvido mas com possível reabertura
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Dificuldades com UPDATE Empty Re: [Resolvido]Dificuldades com UPDATE

    Mensagem  Noobezinho 13/1/2018, 18:41

    Só substuindo o código que foi  errado:

    Mudei o nome do teu subformulário que estava mais comprido do que minha esperança de ganhar na mega.

    Código:

    Dim rst As Recordset, frm As Form, frmrst As Recordset

    Set frm = Me.subfrmPagamento.Form
    Set rst = frm.RecordsetClone
    rst.MoveFirst


    Do While Not rst.EOF

       'Duvidas aqui
       DoCmd.RunSQL "UPDATE CAD_LANCAMENTO SET CAD_LANCAMENTO.DATA_PAGAMENTO = Date(), CAD_LANCAMENTO.PAGAMENTO = True " & _
                 "WHERE (((CAD_LANCAMENTO.cod_lancamento)=" & rst!cod_lancamento & "));"
       rst.MoveNext



    Loop
    Set rst = Nothing


    .................................................................................
    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?  Twisted Evil
    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.
    avatar
    patrickdanielli1
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 21/07/2017

    [Resolvido]Dificuldades com UPDATE Empty Re: [Resolvido]Dificuldades com UPDATE

    Mensagem  patrickdanielli1 13/1/2018, 20:15

    Oh glória !!!
    de Noobezinho vc nao tem nada
    obrigadão
    deu super certo o código, pela primeira vez ele tá rodando
    ainda tenho uns poréns mas esta indo
    Alexandre Fim seu exemplo me ajudou a mudar um pouco a forma de processamento, obrigado.

    Tópico resolvido
    avatar
    patrickdanielli1
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 39
    Registrado : 21/07/2017

    [Resolvido]Dificuldades com UPDATE Empty Re: [Resolvido]Dificuldades com UPDATE

    Mensagem  patrickdanielli1 13/1/2018, 21:14

    ao Noobezinho e aos que tiverem o mesmo problema

    corrigi alguns detalhes
    estava marcando todos os registros e atualizando todos, coloquei também como condição do update a marcação do chkbox,"and ((CAD_LANCAMENTO.PAGAMENTO)= true));" dai resolveu, outra coisa era a mensagem "Você está prestes a atualizar 1 linha(s).", resolvi alterando  DoCmd.RunSQL por CurrentDb.Execute.
    segue o código

    Código:
    Dim rst As Recordset, frm As Form, frmrst As Recordset

    Set frm = Me.sub_pagamento.Form

    Set rst = frm.RecordsetClone
    rst.MoveFirst

    Do While Not rst.EOF

       CurrentDb.Execute "UPDATE CAD_LANCAMENTO SET CAD_LANCAMENTO.DATA_PAGAMENTO = Date() " & _
                 "WHERE (((CAD_LANCAMENTO.cod_lancamento)=" & rst!cod_lancamento & ") and ((CAD_LANCAMENTO.PAGAMENTO)= true));"
       rst.MoveNext
     
    Loop

    Set rst = Nothing

    ainda não tive problemas e esta funcionando bem.


    então vamos as dúvidas:
    o porque do uso do recordsetclone ? na minha cabeça apenas setando a tabela e não o subformulário como recordset deveria funcionar
    eu entendo que precisava ter um momento para identificar onde esta sendo modificado o registro, mas pensei que ao ter a tabela setada, ele buscaria a modificação do chkbox, compararia o cod_lancamento e faria o update, mas se eu entendi bem, agora esta buscando no subformulário.
    Noobezinho
    Noobezinho
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4140
    Registrado : 29/06/2012

    [Resolvido]Dificuldades com UPDATE Empty Re: [Resolvido]Dificuldades com UPDATE

    Mensagem  Noobezinho 14/1/2018, 06:41

    Patrick


    Está correto, como fiquei na dúvida, deixei assim, você é que tinha que definir isso, ótimo amigo.

    Para não aparecer a mensagem, coloque antes e depois da consulta ação,  as parte em azul:

    Docmd.Setwaring False

    CurrentDb.Execute "UPDATE  ......

    Docmd.Setwaring True

    O computador é burro, é você quem deve dizer a ele o que fazer através de comandos.

    Claro que setando diretamente a tabela (recordset quer dizer tabela), vai dar certo, mas não trabalhamos diretamente na tabela, pois qualquer erro, põe-se tudo a se perder.

    Ou seja,o usuário manipular tabelas diretamente , ou seja, abrindo a tabela e modificando-a de alguma forma, na computação isso é crime.


    O recordsetclone faz uma cópia  (tabela) clonada na memória do conteúdo do subformulário,nesse caso.

    Se o formulário em questão tiver mais de um registro, temos que dizer a ele para fazer a varredura no recordsetclone  e fazer

    o que deve ser feito, que nesse caso, é a atualização da tabela, registro por registro.

    Procure ler a ajuda do Access.

    Quando quiser saber sobre algum comando, basta clicar sobre a palavra e teclar F1.

    Ou no google: ms acess palavra a pesquisar.

    [ ]'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?  Twisted Evil
    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.

    Conteúdo patrocinado


    [Resolvido]Dificuldades com UPDATE Empty Re: [Resolvido]Dificuldades com UPDATE

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 10:10