Ho un altro problema, spostando il codice in una function in modo da renderla generica passo così i valori:
Nella sub chiamante
txtNumeroORDCL = NumeroProgressivo(Me.DataOrdine, "NumeroORDCL", "Tb420_ORDCLtestate")
In un modulo generico
Public Function NumeroProgressivo(DATA As Date, Numero As String, Tabella As String) As Integer
Dim Anno As String
Dim UltimoNr As Long
Anno = Format(DATA, "yy")
'[b]UltimoNr = Nz(DMax(Numero, Tabella, "Left([Numero], 2) = " & Anno))
UltimoNr = Nz(DMax(Numero, Tabella, "(Format[Numero], 'yy') = " & Anno))[/b]
If UltimoNr = 0 Then
NumeroProgressivo = Anno & "0001"
Else
NumeroProgressivo = UltimoNr + 1
End If
End Function
In pratica NumeroORDCL è la colonna dove deve cercare il Dmax e con la chiamata viene passata come stringa, però quando poi viene inserito lo stesso valore nel criterio (in entrambi i modi scriva il criterio) mi restituisce errore credo perché in quanto stringa ha le virgolette..
Premetto che le funzioni non sono proprio il mio forte, non ho mai capito benissimo se passo e restituisco i valori correttamente.