Réponse n° 1 -------- le 28/04/2014 : 03:56 par 3Stone
Administrateur
|
Bonjour,
Le plus simple est de créer une petite fonction qui te retourne automatiquement la bonne valeur. Il suffit alors d'appeler cette fonction comme valeur par défaut de la zone de texte concernée sur le formulaire. Il est bon de verrouiller cette zone de texte.
Donc, dans les propriétés => onglet Données => Valeur par défaut, tu écris :
=CreeCode()
La fonction, tu la colle dans un module général. Code : Function CreeCode() 'Format : NCE-YY-MM-001 Dim sAnMois As String Dim sMois As String Dim iCompteur As Integer Dim sCode As String sAnMois = Format(Date, "YY-MM") 'on récupère la dernière valeur (ID et T_Table à adapter) sCode = Nz(DMax("ID", "T_Table"), "") 'si pas vide ou même année et même mois If Mid(sCode, 5, 5) = sAnMois Then iCompteur = Val(Right(sCode, 3)) + 1 CreeCode = "NCE-" & sAnMois & "-" & Format(iCompteur, "000") Else 'sinon premier enregistrement ou on change de mois CreeCode = "NCE-" & sAnMois & "-001" End If End Function
Il te faudra adapter le nom de la table (ici "T_Table") et le nom de ce que tu appelles un compteur (ici "ID")
Cordialement, Pierre (3Stone) |