Bom dia
Tenho uma função que cria um número de ordem para o mês. Ocorre que, a função abaixo funciona perfeitamente, porém, para cada mês a ser gerado tenho de chamar uma função, por exemplo, no código abaixo tenho a função do mês 1, tenho mais 11 funções...., enfim, há alguma forma de fazer apenas uma função que se execute conforme o mês, reiniciando a numeração?
Att.
Vinicius
Tenho uma função que cria um número de ordem para o mês. Ocorre que, a função abaixo funciona perfeitamente, porém, para cada mês a ser gerado tenho de chamar uma função, por exemplo, no código abaixo tenho a função do mês 1, tenho mais 11 funções...., enfim, há alguma forma de fazer apenas uma função que se execute conforme o mês, reiniciando a numeração?
Att.
Vinicius
- Código:
' Mês 02
Public Function fncAgrupamento2()
On Error GoTo trataerro
Dim strSql As String
Dim rs As DAO.Recordset
Dim ym As Long
Dim k As Long
Dim db As DAO.Database
DBEngine.SetOption dbMaxLocksPerFile, 90000000
Set db = CurrentDb
MsgBox "Iniciando Mês 02"
strSql = "SELECT reg_I250.DataOk, reg_I250.Id_Registro, reg_I250.Registro, reg_I250.Agrupamento, reg_I250.AgCriado FROM reg_I250 WHERE (((Month([DataOk])=2)) AND ((reg_I250.Registro)='I200')) ORDER BY reg_I250.DataOk, reg_I250.Id_Registro, reg_I250.DataOk;"
Set rs = CurrentDb.OpenRecordset(strSql)
rs.MoveFirst
ym = Val(Format(rs!DataOk, "dd")) 'ano/mes
k = 0
Do While Not rs.EOF
If ym = Val(Format(rs!DataOk, "dd")) Then
k = k + 1
Else
k = 1
ym = Val(Format(rs!DataOk, "dd"))
End If
rs.Edit
rs!AgCriado = (Format(k, "00000"))
rs.Update
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
sair:
Exit Function
trataerro:
Select Case Err.Number
Case 3061
Resume Next
Case 3049
Resume Next
Case Else
MsgBox "Erro: (fncRegAgrupI250) " & Err.Number & vbCrLf & Err.Description, vbCritical, "Aviso", _
Err.HelpFile, Err.HelpContext
End Select
Resume sair:
End Function