Olá pessoal!
Preciso de ajuda com numeração automática personalizada. Eu tenho o seguinte formato de numeração:
onde "VM" é fixo, nunca irá mudar; "AA" se refere ao 2 últimos dígitos do ano vigente; "MM" são 2 dígitos no mês vigente; e "XXX" é um número sequencial que deverá reiniciar ao início de cada novo ano.
Para criar a numeração, estou utilizando um código que encontrei aqui no fórum. Porém não consegui fazer uma lógica que faça o que eu preciso, ou seja, verificar o "AA" e o "XXX" do último código cadastrado e, se "AA" for igual ao ano vigente, cria o novo código com "XXX" +1 (ex.: 002); se for diferente reinicia em 001.
Segue abaixo o código que estou utilizando.
Preciso de ajuda com numeração automática personalizada. Eu tenho o seguinte formato de numeração:
- VM-AAMM-XXX
onde "VM" é fixo, nunca irá mudar; "AA" se refere ao 2 últimos dígitos do ano vigente; "MM" são 2 dígitos no mês vigente; e "XXX" é um número sequencial que deverá reiniciar ao início de cada novo ano.
Para criar a numeração, estou utilizando um código que encontrei aqui no fórum. Porém não consegui fazer uma lógica que faça o que eu preciso, ou seja, verificar o "AA" e o "XXX" do último código cadastrado e, se "AA" for igual ao ano vigente, cria o novo código com "XXX" +1 (ex.: 002); se for diferente reinicia em 001.
Segue abaixo o código que estou utilizando.
- Código:
Dim lastcode As String
Dim nextcode As Integer
ano = Mid(Year(Date), 3, 2)
mes = Format(Month(Date), "00")
lastcode = Nz(DMax("NumeroVM", "tbl_RelatorioMontagem", "NumeroVM = '" & Me.NumeroVM.Value & "'"), 0)
If IsNull(lastcode) Or lastcode = "" Or lastcode = "0" Then
lastcode = "VM-" & ano & mes & "-001"
Me.NumeroVM.Value = lastcode
Else
nextcode = Right(DMax("NumeroVM", "tbl_RelatorioMontagem", "NumeroVM = '" & Me.NumeroVM.Value & "'"), 3) + 1
Me.NumeroVM.Value = "VM-" & ano & mes & "-" & Format(nextcode, "000")
End If