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


3 participantes

    [Resolvido]Do While - Errado!

    avatar
    Rosalvo0
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Localização : Anónimo
    Mensagens : 28
    Registrado : 19/03/2021

    [Resolvido]Do While - Errado! Empty [Resolvido]Do While - Errado!

    Mensagem  Rosalvo0 22/11/2022, 22:33

    Boa noite a todos!
    Usei esse código em um botão para que ele percorra todos os registros do formulário e coloque a data atual no campo2 onde o campo 1 seja vazio, mas não está funcionando e eu sei o porque. Alguém poderia me ajudar por favor?

    Private Sub Botão_Click()

    Dim contar3 As Integer
    Dim contar2 As Integer
    Dim rst2 As Recordset
    Set rst2 = CurrentDb.OpenRecordset("TblSaída")
    contar2 = 0
    contar3 = rst2.RecordCount
    DoCmd.RunCommand acCmdRecordsGoToFirst
    Do While contar2 <> contar3
    contar2 = contar2 + 1

       If IsNull(Me.campo1 = True) Then
           Me.campo2 = Now()
           DoCmd.RunCommand acCmdRecordsGoToNext
       End If

    Loop
    End Sub
    Cristian Souza
    Cristian Souza
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 72
    Registrado : 12/01/2021

    [Resolvido]Do While - Errado! Empty Re: [Resolvido]Do While - Errado!

    Mensagem  Cristian Souza 23/11/2022, 10:50

    Olá Rosalvo0 Very Happy

    A instrução UPDATE do SQL onde tratamos no tópico de Analisar campos vazios ao abrir formulário também não se aplica a esta necessidade?

    Ficaria algo do tipo:

    No evento "Ao clicar" do botão:

    '-- Executa a função para contar registros em branco, caso não ache nenhum, finaliza a função.
    If Nz(DCount("*", "NomeDaTabela", "IsNull ([Campo_1])"), 0) = 0 Then
    Exit Sub '-- para aqui e suspende a execução do código restante
    End If

    '-- Atualiza com a data de hoje todos os registros em que o campo Campo_1 estiverem em branco.
    CurrentDb.Execute "UPDATE NomeDaTabela SET [Campo_2] = '" & Format(Date, "mm/dd/yyyy") & "' WHERE IsNull ([Campo_1])"
    MsgBox("Os campos vazios foram atualizados"), vbInformation, "Aviso"
    Exit Sub '-- para aqui e suspende a execução do código restante

    Rosalvo0 gosta desta mensagem

    avatar
    Rosalvo0
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Localização : Anónimo
    Mensagens : 28
    Registrado : 19/03/2021

    [Resolvido]Do While - Errado! Empty Re: [Resolvido]Do While - Errado!

    Mensagem  Rosalvo0 23/11/2022, 11:25

    Bom dia Cristian.

    Em primeiro lugar, muito obrigado por sua atenção.
    O seu código é perfeito, mas eu gostaria de construir um com laços para poder aprender melhor como eles funcionam. Procurei em vários tutoriais e eles tem sempre o mesmo método de ensinamento no qual eu não consigo aplicá-los as minhas necessidades. Estou tentando construir esse, que é bem simples, para poder ter um entendimento do seu funcionamento na prática.
    Se puder me ajudar ficaria extremamente grato.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Do While - Errado! Empty Re: [Resolvido]Do While - Errado!

    Mensagem  JPaulo 23/11/2022, 14:27

    Inicie sempre o aprendizado, com o simples;

    Código:
    Private Sub SeuBotão_Click()
    With Me.Recordset
      .MoveFirst
      Do While Not .EOF
        If IsNull(Me.Campo1) Or Me.Campo1 = "" Then
          Me.Campo2 = Now()
        End If
        .MoveNext
      Loop
    End With
    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 - Errado! Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Do While - Errado! Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Do While - Errado! Folder_announce_new Instruções SQL como utilizar...

    Rosalvo0 gosta desta mensagem

    avatar
    Rosalvo0
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Localização : Anónimo
    Mensagens : 28
    Registrado : 19/03/2021

    [Resolvido]Do While - Errado! Empty Re: [Resolvido]Do While - Errado!

    Mensagem  Rosalvo0 23/11/2022, 15:36

    Oi JP!
    Perfeito.
    Vou estudar passo a passo o código para poder entender o seu funcionamento e o significado de cada elemento usado nele.
    Muito obrigado pela atenção de vocês JP e Cristian.
    Grande abraço!!!
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Do While - Errado! Empty Re: [Resolvido]Do While - Errado!

    Mensagem  JPaulo 5/12/2022, 10:57

    Obrigado pelo retorno o fórum 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 - Errado! Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Do While - Errado! Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Do While - Errado! Folder_announce_new Instruções SQL como utilizar...

    Rosalvo0 gosta desta mensagem


    Conteúdo patrocinado


    [Resolvido]Do While - Errado! Empty Re: [Resolvido]Do While - Errado!

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/12/2024, 09:03