gilberlanio 4/5/2018, 14:23
Cole essa função em seu formulário e faça as alterações:
SEUCAMPOID = Seu campo código da tabela que vai receber a informação
NOMETABELA = Nome de sua tabela
- Código:
Function proximoNumero() As String
'Função que busca o último número do mês
'e acrescenta um para criar o próximo
Dim strSql As String
Dim rstDoc As New ADODB.Recordset
Dim numeroEncontrado As Integer
'Cria a consulta SQL buscando os números do mês atual
'em ordem descendente para que o último fique em primeiro
strSql = "Select SEUCAMPOID From NOMETABELA " & _
"Where (SEUCAMPOID Like '%" & "-" & Format(Date, "dd") & "/" & Format(Date, "mm") & "/" & Format(Date, "yyyy") & "') " & _
"Order By SEUCAMPOID Desc"
'Abre o recordset
rstDoc.Open strSql, CurrentProject.Connection, adOpenStatic, adLockReadOnly
'Se encontrou algum pega o primeiro
'senão retorna zero
If rstDoc.RecordCount > 0 Then
numeroEncontrado = CInt(Left(rstDoc("SEUCAMPOID"), 3))
Else
numeroEncontrado = 0
End If
'Próximo número = numero encontrado +1 mais o mês e ano atual com dois dígitos
proximoNumero = Format(numeroEncontrado + 1, "000") & "-" & Format(Date, "dd") & "/" & Format(Date, "mm") & "/" & Format(Date, "yyyy")
'Fecha o recordset
rstDoc.Close
Set rstDoc = Nothing
End Function
depois chame a função no clique do botão novo:
SEUCAMPOID = proximoNumero
Obs. Seu campo código que vai receber a informação precisa ser do tipo
Texto