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


2 participantes

    [Resolvido]Do while que não atualiza a tabela...

    MPS
    MPS
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 264
    Registrado : 19/04/2012

    [Resolvido]Do while que não atualiza a tabela... Empty Do while que não atualiza a tabela...

    Mensagem  MPS 3/12/2012, 03:31

    Caros colegas, esta instrução Do While deveria inserir 4 registros novos no Rs2. Só que não executa!
    Onde está o erro?

    Private Sub Comando0_Click()
    Dim dbbanco, dbbanco2, dbbanco3 As Database
    Dim Rs, Rs2, rssoc As DAO.Recordset

    Set dbbanco = CurrentDb()
    'Acha os faturados no penúltimo mês.
    Set Rs = dbbanco.OpenRecordset("SELECT * FROM [movimentacao] WHERE faturado > 0 and data = DateSerial(Year(Date()), Month(Date())-2,1)")

    Set dbbanco2 = CurrentDb()
    Set Rs2 = dbbanco2.OpenRecordset("movimentacao", dbOpentable)

    Set dbbanco3 = CurrentDb()
    Set rssoc = dbbanco3.OpenRecordset("SELECT top 1 * FROM [backupexcel] WHERE bup = 'faturado' order by databup desc")

    If rssoc!databup = DateSerial(Year(Date), Month(Date) - 1, 1) Then
    Exit Sub
    Else
    Do While Not Rs.EOF
    With Rs2
    .AddNew
    !CodConta2 = Rs!CodConta2
    !Data = DateSerial(Year(Date), Month(Date), 0)
    !MesReferencia = DateSerial(Year(Date), Month(Date) - 1, 1)
    !Faturado = Rs!Faturado
    .Update
    Rs2.Close
    End With
    Rs.MoveNext
    Loop

    With rssoc
    .AddNew
    !BUP = "faturado"
    !databup = DateSerial(Year(Date), Month(Date) - 1, 1)
    !usuariobup = UsuárioAtual()
    .Update
    rssoc.Close
    End With

    End If
    End Sub

    Agradeço desde já!
    At
    MPS
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Do while que não atualiza a tabela... Empty Re: [Resolvido]Do while que não atualiza a tabela...

    Mensagem  JPaulo 3/12/2012, 10:08

    Ola;

    Não testei nadica de nada, mas pelo que vejo você está a fechar o RecordSet antes do tempo.

    Os .Close devem ficar sempre no final dos códigos.

    Penso que a instrução correta será:



    Private Sub Comando0_Click()
    Dim dbbanco, dbbanco2, dbbanco3 As Database
    Dim Rs, Rs2, rssoc As DAO.Recordset

    Set dbbanco = CurrentDb()
    'Acha os faturados no penúltimo mês.
    Set Rs = dbbanco.OpenRecordset("SELECT * FROM [movimentacao] WHERE faturado > 0 and data = DateSerial(Year(Date()), Month(Date())-2,1)")

    Set dbbanco2 = CurrentDb()
    Set Rs2 = dbbanco2.OpenRecordset("movimentacao", dbOpenTable)

    Set dbbanco3 = CurrentDb()
    Set rssoc = dbbanco3.OpenRecordset("SELECT top 1 * FROM [backupexcel] WHERE bup = 'faturado' order by databup desc")

    If rssoc!databup = DateSerial(Year(Date), Month(Date) - 1, 1) Then Exit Sub

    Do While Not Rs.EOF
    With Rs2
    .AddNew
    !CodConta2 = Rs!CodConta2
    !Data = DateSerial(Year(Date), Month(Date), 0)
    !MesReferencia = DateSerial(Year(Date), Month(Date) - 1, 1)
    !Faturado = Rs!Faturado
    .Update
    End With
    Rs.MoveNext
    Loop

    Do While Not rssoc
    With rssoc
    .AddNew
    !BUP = "faturado"
    !databup = DateSerial(Year(Date), Month(Date) - 1, 1)
    !usuariobup = UsuárioAtual()
    .Update
    rssoc.MoveNext
    End With
    Loop


    Rs.Close
    Rs2.Close
    rssoc.Close

    Set Rs = Nothing
    Set Rs2 = Nothing
    Set rssoc = Nothing

    Set dbbanco = Nothing
    Set dbbanco2 = Nothing
    Set dbbanco3 = Nothing
    End Sub








    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Do while que não atualiza a tabela... Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Do while que não atualiza a tabela... Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Do while que não atualiza a tabela... Folder_announce_new Instruções SQL como utilizar...
    MPS
    MPS
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 264
    Registrado : 19/04/2012

    [Resolvido]Do while que não atualiza a tabela... Empty Re: [Resolvido]Do while que não atualiza a tabela...

    Mensagem  MPS 3/12/2012, 10:45

    JPaulo, tudo bem?
    Obrigado pela pronta resposta!
    Fiz as correções sugeridas, mas ainda não funcionou!
    Será que eu identifiquei corretamente a Tabela Movimentacao em Rs2 para que receba novos registros baseados em Rs?
    MPS
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Do while que não atualiza a tabela... Empty Re: [Resolvido]Do while que não atualiza a tabela...

    Mensagem  JPaulo 3/12/2012, 10:48

    Amigão, não tenho como testar, só replicando aqui todas as suas tabelas.

    Pode anexar aqui parte do seu banco ?


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Do while que não atualiza a tabela... Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Do while que não atualiza a tabela... Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Do while que não atualiza a tabela... Folder_announce_new Instruções SQL como utilizar...
    MPS
    MPS
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 264
    Registrado : 19/04/2012

    [Resolvido]Do while que não atualiza a tabela... Empty Re: [Resolvido]Do while que não atualiza a tabela...

    Mensagem  MPS 3/12/2012, 11:08

    JPaulo, com certeza!
    Segue:
    MPS
    MPS
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 264
    Registrado : 19/04/2012

    [Resolvido]Do while que não atualiza a tabela... Empty Re: [Resolvido]Do while que não atualiza a tabela...

    Mensagem  MPS 3/12/2012, 11:09

    JPaulo, não tente, por favor!
    Está com a Senha!
    Vou enviar outro!
    MPS
    MPS
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 264
    Registrado : 19/04/2012

    [Resolvido]Do while que não atualiza a tabela... Empty Re: [Resolvido]Do while que não atualiza a tabela...

    Mensagem  MPS 3/12/2012, 11:12

    JPaulo, agora sim!
    Anexos
    [Resolvido]Do while que não atualiza a tabela... AttachmentBD MPS front end_Teste VBA.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (1.2 Mb) Baixado 7 vez(es)
    MPS
    MPS
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 264
    Registrado : 19/04/2012

    [Resolvido]Do while que não atualiza a tabela... Empty Re: [Resolvido]Do while que não atualiza a tabela...

    Mensagem  MPS 3/12/2012, 11:17

    JPaulo, exclua o registro com data de 01/11/2012 na Tabela BackupExcel, por favor!
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Do while que não atualiza a tabela... Empty Re: [Resolvido]Do while que não atualiza a tabela...

    Mensagem  JPaulo 3/12/2012, 12:18

    Não entendi direito, mas veja se é isto;

    Anexos
    [Resolvido]Do while que não atualiza a tabela... AttachmentBD MPS front end_Teste VBA_OLD.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (50 Kb) Baixado 20 vez(es)


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Do while que não atualiza a tabela... Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Do while que não atualiza a tabela... Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Do while que não atualiza a tabela... Folder_announce_new Instruções SQL como utilizar...
    MPS
    MPS
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 264
    Registrado : 19/04/2012

    [Resolvido]Do while que não atualiza a tabela... Empty Re: [Resolvido]Do while que não atualiza a tabela...

    Mensagem  MPS 3/12/2012, 21:09

    JPaulo, obrigado pelo arquivo!
    Esta instrução é que não foi executada, pois na Tabela Movimentacao não foram inseridos 4 novos registros:
    Do While Not Rs.EOF
    With Rs2
    .AddNew
    !CodConta2 = Rs!CodConta2
    !Data = DateSerial(Year(Date), Month(Date), 0)
    !MesReferencia = DateSerial(Year(Date), Month(Date) - 1, 1)
    !Faturado = Rs!Faturado
    !Historico = Rs!Historico
    .Update
    End With
    Rs.MoveNext
    Loop

    Acho que está havendo conflito porquê o Rs e o Rs2 são derivados da mesma Tabela Movimentacao.
    Será?
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Do while que não atualiza a tabela... Empty Re: [Resolvido]Do while que não atualiza a tabela...

    Mensagem  JPaulo 4/12/2012, 11:15

    Veja;

    Anexos
    [Resolvido]Do while que não atualiza a tabela... AttachmentBD MPS front end_Teste VBA_OLD_II.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (50 Kb) Baixado 25 vez(es)


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Do while que não atualiza a tabela... Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Do while que não atualiza a tabela... Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Do while que não atualiza a tabela... Folder_announce_new Instruções SQL como utilizar...
    MPS
    MPS
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 264
    Registrado : 19/04/2012

    [Resolvido]Do while que não atualiza a tabela... Empty Re: [Resolvido]Do while que não atualiza a tabela...

    Mensagem  MPS 5/12/2012, 01:53

    JPaulo, que força tem estas duas instruções!
    .MoveLast
    .MoveFirst
    Bastou acrescentá-las no local certo!
    Obrigado e parabéns!
    MPS
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Do while que não atualiza a tabela... Empty Re: [Resolvido]Do while que não atualiza a tabela...

    Mensagem  JPaulo 5/12/2012, 08:54

    Obrigado pelo retorno o forum agradece.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Do while que não atualiza a tabela... Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Do while que não atualiza a tabela... Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Do while que não atualiza a tabela... Folder_announce_new Instruções SQL como utilizar...

    Conteúdo patrocinado


    [Resolvido]Do while que não atualiza a tabela... Empty Re: [Resolvido]Do while que não atualiza a tabela...

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/4/2024, 11:33