Prezados do Forum, boa tarde.
Estou tentando implementar o código abaixo (e que funciona), disponibilizado pelo mestre JPaulo, aqui do forum, mas não está funcionando após as adaptações. O código original é o seguinte (ressalvado o nome do campo e tabela):
Public Function NumeracaoAno() As String
'By JPaulo@2009
Dim fazcodigo(1) As Integer, temporario As Integer
fazcodigo(1) = Nz(DMax("Left(NumeroVisitante,3)", "tbl_Geral", "Right(NumeroVisitante,4)=Year(Date())"), 0)
For I = 1 To UBound(fazcodigo)
If temporario < fazcodigo(I) Then temporario = fazcodigo(I)
Next
NumeracaoAno = Format(temporario + 1, "000") & "/" & year(Date)
End Function
que retorna uma numeração de formato xxx/2019.
Fiz umas adaptações no código para retornar uma auto numeração de formato xxxx/mm/yyyy, e após as adaptações o código ficou como a seguir:
Public Function NumeracaoAno() As String
'By JPaulo@2009
Dim fazcodigo(1) As Integer, temporario As Integer
fazcodigo(1) = Nz(DMax("Left(NumeroVisitante,4)", "tbl_Geral", "Right(Numerovisitante,4)=month(Date())"), 0)
For I = 1 To UBound(fazcodigo)
If temporario < fazcodigo(I) Then temporario = fazcodigo(I)
Next
NumeracaoAno = Format(temporario + 1, "0000") & "/" & "0" & Month(Date) & "/" & Year(Date)
End Function
porém não está funcionando a contento, pois não faz a contagem. Quando cria um registro a numeração não sai do número 0001.
O código está implementado no evento Ao Abrir do formulário e, na propriedade Valor Padrão do campo "NumeroVisitante" está =NumeracaoAno().
Caso alguém tenha alguma sugestão para solucionar o erro, ficarei grato se compartilhar.
Agradecido
Estou tentando implementar o código abaixo (e que funciona), disponibilizado pelo mestre JPaulo, aqui do forum, mas não está funcionando após as adaptações. O código original é o seguinte (ressalvado o nome do campo e tabela):
Public Function NumeracaoAno() As String
'By JPaulo@2009
Dim fazcodigo(1) As Integer, temporario As Integer
fazcodigo(1) = Nz(DMax("Left(NumeroVisitante,3)", "tbl_Geral", "Right(NumeroVisitante,4)=Year(Date())"), 0)
For I = 1 To UBound(fazcodigo)
If temporario < fazcodigo(I) Then temporario = fazcodigo(I)
Next
NumeracaoAno = Format(temporario + 1, "000") & "/" & year(Date)
End Function
que retorna uma numeração de formato xxx/2019.
Fiz umas adaptações no código para retornar uma auto numeração de formato xxxx/mm/yyyy, e após as adaptações o código ficou como a seguir:
Public Function NumeracaoAno() As String
'By JPaulo@2009
Dim fazcodigo(1) As Integer, temporario As Integer
fazcodigo(1) = Nz(DMax("Left(NumeroVisitante,4)", "tbl_Geral", "Right(Numerovisitante,4)=month(Date())"), 0)
For I = 1 To UBound(fazcodigo)
If temporario < fazcodigo(I) Then temporario = fazcodigo(I)
Next
NumeracaoAno = Format(temporario + 1, "0000") & "/" & "0" & Month(Date) & "/" & Year(Date)
End Function
porém não está funcionando a contento, pois não faz a contagem. Quando cria um registro a numeração não sai do número 0001.
O código está implementado no evento Ao Abrir do formulário e, na propriedade Valor Padrão do campo "NumeroVisitante" está =NumeracaoAno().
Caso alguém tenha alguma sugestão para solucionar o erro, ficarei grato se compartilhar.
Agradecido