Ciao,
in un modulo vba devi creare la stringa sql per l'insert dove l'id è da creare come nell'esempio sotto riportato:
codice:
NEW_ID = "TR_" & Format(Date, "yy") & "_" & Format(IIf(IsNull(DMax("[Num_passaggio]", "[TB_GUIDA]", "[Num_passaggio] like 'TR_" & Format(Date, "yy") & "_????'")), 1, Right(DMax("[Num_passaggio]", "[TB_GUIDA]", "[Num_passaggio] like 'TR_" & Format(Date, "yy") & "_????'"), 4) + 1), "0000")
STRSQL2 = "INSERT INTO TB_GUIDA (Num_passaggio,Sistema, Id_Stato_Passaggio, Data_Modif_Coll,Data_Modif_Prd ) VALUES ('" & NEW_ID & "','TR','8','" & NOW_DATE & "','" & NOW_DATE & "');"
DoCmd.RunSQL STRSQL2
l'esempio crea un id come questo:
TR_12_0001
....
....
TR_12_0004
per far funzionare l'esempio su riportato, basta creare una tabella chiamata TB_GUIDA con una colonna di tipo text chiamata Num_passaggio.
Nel tuo caso devi modificare un pò di parametri (esempio cambiare TR con codice fornitore, ecc)
Ciao
Mik