OVH Cloud OVH Cloud

Incrementation d'un champ

7 réponses
Avatar
Baceri
Salut a tous
J'ai dans une table un nom de champ "devis" du style 06-05345 et j'aimerais
quand j'ouvre un nouveau formulaire qu'il s'incrémente d'un automatiquement
"06-05346

Merci

7 réponses

Avatar
Eric
Bonjour,

Exemple vite fait de fonction faisant ce que tu veux à copier dans le
module du formulaire, celui-ci ayant sa propriété Entrée de données à Oui:

Private Function fnNouveauNumero() As String
Dim strNumero As String, nombre As Long
' Adapter le nom du champ et celui de la table
strNumero = DMax("devis", "LaTable")
nombre = Val(Mid$(strNumero, InStr(strNumero, "-") + 1)) + 1
fnNouveauNumero = Left$(strNumero, 3) & Format$(nombre, "00000")
End Function

Et sur l'évènement Chargement du formulaire:
Private Sub Form_Load()
Me.Devis= fnNouveauNumero
End Sub

(PS: pour le passage à l'année 2007, ca sera plus bon)

Salut a tous
J'ai dans une table un nom de champ "devis" du style 06-05345 et j'aimerais
quand j'ouvre un nouveau formulaire qu'il s'incrémente d'un automatiquement
"06-05346

Merci




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Baceri
Je te remerci de ta reponse,
J'a bien active Entree de donnees sur oui,
J'ai bien mis tes trois lignes sur l'evenement chargement du formulaire,
Par contre je n'ai pas compris ou je devais mettre:

Private Function fnNouveauNumero() As String
Dim strNumero As String, nombre As Long
' Adapter le nom du champ et celui de la table
strNumero = DMax("devis", "LaTable")
nombre = Val(Mid$(strNumero, InStr(strNumero, "-") + 1)) + 1
fnNouveauNumero = Left$(strNumero, 3) & Format$(nombre, "00000")
End Function
Avatar
Eric
Bonsoir,

Ces lignes ne doivent pas être écrites sur la ligne en face de
l'évènement Sur Chargement mais en cliquant sur les 3 points (...) en
bout de ligne.

Private Sub Form_Load()
Me.Devis= fnNouveauNumero
End Sub

et dessous tu copies le code de la fonction

ok ?

Je te remerci de ta reponse,
J'a bien active Entree de donnees sur oui,
J'ai bien mis tes trois lignes sur l'evenement chargement du formulaire,
Par contre je n'ai pas compris ou je devais mettre:

Private Function fnNouveauNumero() As String
Dim strNumero As String, nombre As Long
' Adapter le nom du champ et celui de la table
strNumero = DMax("devis", "LaTable")
nombre = Val(Mid$(strNumero, InStr(strNumero, "-") + 1)) + 1
fnNouveauNumero = Left$(strNumero, 3) & Format$(nombre, "00000")
End Function





--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
Baceri
Celle la j'ai trouve,c'est pour les autres que je ne sais pas
Avatar
Baceri
Ou je met cette fonction, merci

Private Function fnNouveauNumero() As String
Dim strNumero As String, nombre As Long
' Adapter le nom du champ et celui de la table
strNumero = DMax("devis", "LaTable")
nombre = Val(Mid$(strNumero, InStr(strNumero, "-") + 1)) + 1
fnNouveauNumero = Left$(strNumero, 3) & Format$(nombre, "00000")
End Function
Avatar
Eric
re,

je viens de te dire de copier en dessous le code de la fonction. Elle
n'est pas à mettre sur un évènement elle. Elle est appelée sur
l'évènement Chargement du formulaire.

Donc tu colles ça sous le dernier End Sub de la page :

Private Function fnNouveauNumero() As String
Dim strNumero As String, nombre As Long
' Adapter le nom du champ et celui de la table
strNumero = DMax("devis", "LaTable")
nombre = Val(Mid$(strNumero, InStr(strNumero, "-") + 1)) + 1
fnNouveauNumero = Left$(strNumero, 3) & Format$(nombre, "00000")
End Function

Regardes ici : http://cjoint.com/?huatDIMNTh (copie d'écran)

Celle la j'ai trouve,c'est pour les autres que je ne sais pas




--
A+
Eric
http://www.mpfa.info/
Archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr

Avatar
News Free
Merci, et excuse moi pour ma loudeur mais je debute et du mal a tout
comprendre.




"