Pessoal, Boa Tarde!
Consegui um código aqui no fórum a muito tempo que me foi útil em quase 100% neste momento e gostaria se possível adaptar para minha necessidade.
Copiei este Código(Módulo) onde consigo retornar no campo que quero numerar o número do ID da Tabela + o ano atual, sendo que na virada do ano é reiniciado a numeração partindo do início. Segue exemplo onde funciona na perfeição:
Registro
ID: 12 , retorna 0012/2014
ID: 13 , retorna 0013/2014 e assim por diante.
Quando da virada do ano, segue:
Exibe uma mensagem avisando que o ano virou e será iniciado uma nova contagem. Segue:
ID: 234, retorna 0001/2015 (isto na virada do ano).
O que quero seria incluir o MÊS no meio desta numeração, como segue:
ID: 12, retorna 0012.02/2014 (Este seria o mês de fevereiro), segue o módulo:
Public Function ContaRegistros(strCampo As String, strSql As String)
Dim strNum As String, db As Database
Dim strMax As String, CampoAno As String
Dim AnoData As String, tbl As Recordset
Set db = CurrentDb
AnoData = Year(Date)
Set tbl = db.OpenRecordset(strSql)
If tbl.RecordCount = 0 Then
ContaRegistros = 1 & "/" & AnoData
Else
strMax = tbl(strCampo)
CampoAno = Mid(strMax, (InStr(1, strMax, "/")) + 1, 4)
If CampoAno = AnoData Then
strNum = left(strMax, (InStr(1, strMax, "/") - 1)) + 1
ContaRegistros = strNum & "/" & AnoData
Else
MsgBox "O sistema iniciará uma nova contagem dos registros" _
& vbCrLf & " em função do ano ter mudado", vbInformation, "ATENÇÃO..."
ContaRegistros = 1 & "/" & AnoData
End If
End If
ContaRegistros = StrZero(ContaRegistros, 10)
tbl.Close
Set db = Nothing
End Function
Gostaria de saber onde entraria o mÊs neste código.
desde já agradeço,
Consegui um código aqui no fórum a muito tempo que me foi útil em quase 100% neste momento e gostaria se possível adaptar para minha necessidade.
Copiei este Código(Módulo) onde consigo retornar no campo que quero numerar o número do ID da Tabela + o ano atual, sendo que na virada do ano é reiniciado a numeração partindo do início. Segue exemplo onde funciona na perfeição:
Registro
ID: 12 , retorna 0012/2014
ID: 13 , retorna 0013/2014 e assim por diante.
Quando da virada do ano, segue:
Exibe uma mensagem avisando que o ano virou e será iniciado uma nova contagem. Segue:
ID: 234, retorna 0001/2015 (isto na virada do ano).
O que quero seria incluir o MÊS no meio desta numeração, como segue:
ID: 12, retorna 0012.02/2014 (Este seria o mês de fevereiro), segue o módulo:
Public Function ContaRegistros(strCampo As String, strSql As String)
Dim strNum As String, db As Database
Dim strMax As String, CampoAno As String
Dim AnoData As String, tbl As Recordset
Set db = CurrentDb
AnoData = Year(Date)
Set tbl = db.OpenRecordset(strSql)
If tbl.RecordCount = 0 Then
ContaRegistros = 1 & "/" & AnoData
Else
strMax = tbl(strCampo)
CampoAno = Mid(strMax, (InStr(1, strMax, "/")) + 1, 4)
If CampoAno = AnoData Then
strNum = left(strMax, (InStr(1, strMax, "/") - 1)) + 1
ContaRegistros = strNum & "/" & AnoData
Else
MsgBox "O sistema iniciará uma nova contagem dos registros" _
& vbCrLf & " em função do ano ter mudado", vbInformation, "ATENÇÃO..."
ContaRegistros = 1 & "/" & AnoData
End If
End If
ContaRegistros = StrZero(ContaRegistros, 10)
tbl.Close
Set db = Nothing
End Function
Gostaria de saber onde entraria o mÊs neste código.
desde já agradeço,
Última edição por APJesus em 24/2/2014, 19:54, editado 1 vez(es) (Motivo da edição : Erro no código.)