Como gerar um contador por Dia no VBA

Reading time: 2 minutes

accessfacil.com

Como gerar um contador por Dia no VBA: Entenda como criar uma rotina para gerar registros numerados diariamente

Neste tutorial você vai aprender Como gerar um contador por Dia no VBA. 😲

Este conteúdo é proveniente de um seguidos do nosso canal que tinha a seguinte dúvida?

Como eu poderia criar uma rotina de inclusão aonde um campo chamado NumSeq numerasse registros diferentes para lançamentos efetivados em um mesmo dia. Caso o lançamento fosse realizado em um dia diferente, o contador sempre teria que zerar iniciando a contagem???

Bom, para resolver este problema, vamos compartilhar a tabela com os campos para que você tenha uma noção do que precisamos resolver

accessfacil.com

Repare o seguinte. Veja o dia 05/04/2022 da tabela. Ela possui 3 lançamentos. Nosso objetivo é fazer com que, caso o usuário tenha que fazer mais um lançamento neste mesmo dia 05/04/2022, o campo NumSeq deve ser o nº 4, ou seja, o 4º registro do dia 05/04/2022, e assim para todos os dias. Logicamente, caso não haja lançamento para um determinado dia, o NumSeq será 1.

Deu para entender o nosso problema???💪

Como gerar um contador por Dia no VBA: Criando um rotina após atualizar a Data no formulário

Com base no formulário com os campos não associados a tabela, vamos criar uma rotina no evento ‘Após Atualizar’ do campo Data. Toda vez que o usuário alterar a data, a rotina irá contar a quantidade de registros que já foram lançados para aquele dia e vai acrescentar o próximo no campo ‘NumSeq‘ (perceba que ele está desabilido)

accessfacil.com
Private Sub txtData_AfterUpdate()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim strSql As String
    Dim dtmData As Date
    
    dtmData = Format(Me!txtData, "mm/dd/yyyy")
    strSql = "SELECT * FROM tblLancamento WHERE Data = #" & dtmData & "#"
    Set db = CurrentDb()
    Set rs = db.OpenRecordset(strSql)
    
    rs.MoveLast
    rs.MoveFirst
    Me!txtNumSeq = rs.RecordCount + 1
    
    rs.Close
    db.Close
    Set rs = Nothing
End Sub

Baixe o arquivo para Praticar!!👇👇👇

Faça download do Template deste Tutorial

Insira o seu endereço de e-mail abaixo para receber grátis o link para fazer download do arquivo.>

Fique tranquilo, seu e-mail está completamente SEGUROconosco!

Como gerar um contador por Dia no VBA: Criando uma rotina de inclusão na tabela

Após a rotina de atualização após o usuário selecionar a data, vamos criar uma rotina que possa gravar os dados na tabela.

Private Sub btnGravar_Click()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset

    Set db = CurrentDb()
    Set rs = db.OpenRecordset("tblLancamento")
     With rs
             .AddNew 
             !Data = Me!txtData
             !NumSeq = Me!txtNumSeq
             !ContaDebito = Me!txtContaDebito
             !ContaCredito = Me!txtContaCredito
             !Valor = Me!txtValor
             .Update
    End With
    
    
    rs.Close
    db.Close
    Set rs = Nothing

    'Chama um procedimento que limpa os campos do frm
    Call LimpaCampos
     
    MsgBox "Registro foi gravado com êxito!", vbInformation

End Sub



Sub LimpaCampos
      Me!txtData = Null
      Me!txtNumSeq = Null
      Me!txtContaDebito = Null
      Me!txtContaCredito = Null
      Me!Valor = Null
End Sub

Curso de Access VBA Completo: Do Básico ao Avançado.

Quer aprender a programar no Access? Clique na imagem abaixo:

Por fim, deixe seu comentário sobre o que achou, se usar este recurso e você também pode enviar a sua sugestão para os próximos posts.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *