ciao Vladi,
riprendo una risposta di Giorgio,
per far ripartire la numerazione da 1 ad ogni anno necessario avere un campo Anno e un campo Data.Il campo Anno potrebbe sembrare ridondante ma serve per poter creare un indice univoco composto dai campi Anno e NumeroProtocollo garantendo appunto l'univocità del protocollo nell'ambito dell'anno, poi servirebbe anche un vincolo che impedisca di modificare l'anno della data presente nei record esistenti.
supponendo di creare una tabella con questi campi :
id, contatore,
idprgr, testo
dataFattura, data/ora
anno, testo:
Private Sub Form_Current()
If Me.NewRecord Then
Me.dataFattura = Date
Me.AnnoData = year(Me.dataFattura)
Me.idpgr = "FV" & Right(CStr(year(Date)), 2) & Format(Val(Nz(DMax("right(idpgr,4)", "tabella2", "annoData='" & Me.AnnoData & "'"), "0") + 1), "0000")
End If
End Sub
per semplicità ho testato il tutto su evento current, Giorgio suggeriva beforeupdate della form
Direi visto la fonte di dare ascolto...!
Pensandoci su è l'evento più proprio...!
ciao, Sandro.