OVH Cloud OVH Cloud

incrémentation d'un numéro automatique

4 réponses
Avatar
bazizi
bonjour
J'ai besoin de votre aide
Dans une table dossier j'ai un numéro automatique comme clé primaire
Le soucis c'est que à la fin si j'interrompe le processus d'ajout
d'enregistrement le numéro s'incrémente comme même
Par exemple je crée un dossier 3 puis j'interompe la création
Par la suite j'ai
1,2,4 plus de dossier numero 3
j'ai trouvé sur le forum une solution mais ca ne marche pas :
j'ai mis sur la valeur par defaut du champ du formulaire :
=Dmax("[NuméroDossir]", "Dossier")+1
mais j'ai toujours une erreur
et sur l'ouverture du formulaire :
Private Sub Form_Open(Cancel As Integer)
If NewRecord Then
Me!NuméroDossier = 1 + Nz(DMax("[NuméroDossier]", "Dossier"), 0)
End If
End Sub
Mais rien ne marche, si quel qu'un peut m'aider ??
merci

4 réponses

Avatar
André AVONS
Salut
Si tu mets dans valeur par defaut de ton numeroDossier
=VraiFaux(EstNull(MaxDom("NumeroDossier";"Dossier"));1;MaxDom("NumeroDossier
";"Dossier")+1)
Il faut que NumeroDossier soit de entier long et surtout pas NumeroAuto
--
@+
André

Quelques liens avec des exemples, des utilitaires et des compléments pour
Access
http://access.seneque.free.fr/
http://www.self-access.com/
http://www.mvps.org/accessfr/
http://mypage.bluewin.ch/w.stucki/
http://access.jessy.free.fr/
"baya" a écrit dans le message de
news:
bonjour
J'ai besoin de votre aide
Dans une table dossier j'ai un numéro automatique comme clé primaire
Le soucis c'est que à la fin si j'interrompe le processus d'ajout
d'enregistrement le numéro s'incrémente comme même
Par exemple je crée un dossier 3 puis j'interompe la création
Par la suite j'ai
1,2,4 plus de dossier numero 3
j'ai trouvé sur le forum une solution mais ca ne marche pas :
j'ai mis sur la valeur par defaut du champ du formulaire :
=Dmax("[NuméroDossir]", "Dossier")+1
mais j'ai toujours une erreur
et sur l'ouverture du formulaire :
Private Sub Form_Open(Cancel As Integer)
If NewRecord Then
Me!NuméroDossier = 1 + Nz(DMax("[NuméroDossier]", "Dossier"), 0)
End If
End Sub
Mais rien ne marche, si quel qu'un peut m'aider ??
merci


Avatar
joyeux atchoum
S'lt

Dans le cas où tu utilise Dmax ton champ ne doit plus etre "numero
auto" mais uniquement "numérique"


ja;)
qui pratique le dmax en long et en large au grand damn des conseils
emis sur l'utilisation d'une table annexe
Avatar
Anor
Bonjour,

"baya"
| vraiment je vais piquer une crise aujourd'hui pour ce problme!!!!!
| je ne comprend pas j'ai mis le champ en numérique et dès que je tappe
| dans la valeur par defaut:
| =DMax("NuméroDossier","Dossier")+1

tu tapes ça où ?

Dans vba ou dans le code SQL : Séparateur = virgule
Dans l'éditeur graphique de requête ou directement dans la propriété d'un champ : séparateur
point-virgule

Dossier est bien le nom de la table ?
Si tu mets des caractères accentués dans les noms de champs, dans le doute, mets le nom entre
crochets
même si ça n'aidera pas la migration d'un ordi FR vers non FR.


--
à+
Arnaud
-------------------------------------------
Conseils d'utilisation, sites recommandés :
http://users.skynet.be/mpfa/
petit à petit, www.anor.fr.st fait son nid
-------------------------------------------
Avatar
André AVONS
Copies ce que je t'ai ecrit

--
@+
André

Quelques liens avec des exemples, des utilitaires et des compléments pour
Access
http://access.seneque.free.fr/
http://www.self-access.com/
http://www.mvps.org/accessfr/
http://mypage.bluewin.ch/w.stucki/
http://access.jessy.free.fr/
"baya" a écrit dans le message de
news:
vraiment je vais piquer une crise aujourd'hui pour ce problme!!!!!
je ne comprend pas j'ai mis le champ en numérique et dès que je tappe
dans la valeur par defaut:
=DMax("NuméroDossier","Dossier")+1

j'ai l'erreur suivante:

"la syntaxe de l'expression entrée n'est pas correcte

vous avez omis une opérande ou un opérateur,vous avez entré un
caractère ou une virgule non valides ou encore du texte sans le
délimiter par des guillemets"

je ne comprend pas! et pourtant j'ai vérifier dans le help!
et qd j'essaye de générer l'expression par le générateur d'expression
je ne trouve pas la fonction Dmax(MaxDom)
sachant que je suis sur le version 2000
s'il vous plait si vous avez une idée??????
merci


"André AVONS" wrote in message
news:<OF6Km#...

Salut
Si tu mets dans valeur par defaut de ton numeroDossier

=VraiFaux(EstNull(MaxDom("NumeroDossier";"Dossier"));1;MaxDom("NumeroDossier


";"Dossier")+1)
Il faut que NumeroDossier soit de entier long et surtout pas NumeroAuto
--
@+
André

Quelques liens avec des exemples, des utilitaires et des compléments
pour


Access
http://access.seneque.free.fr/
http://www.self-access.com/
http://www.mvps.org/accessfr/
http://mypage.bluewin.ch/w.stucki/
http://access.jessy.free.fr/
"baya" a écrit dans le message de
news:
bonjour
J'ai besoin de votre aide
Dans une table dossier j'ai un numéro automatique comme clé primaire
Le soucis c'est que à la fin si j'interrompe le processus d'ajout
d'enregistrement le numéro s'incrémente comme même
Par exemple je crée un dossier 3 puis j'interompe la création
Par la suite j'ai
1,2,4 plus de dossier numero 3
j'ai trouvé sur le forum une solution mais ca ne marche pas :
j'ai mis sur la valeur par defaut du champ du formulaire :
=Dmax("[NuméroDossir]", "Dossier")+1
mais j'ai toujours une erreur
et sur l'ouverture du formulaire :
Private Sub Form_Open(Cancel As Integer)
If NewRecord Then
Me!NuméroDossier = 1 + Nz(DMax("[NuméroDossier]", "Dossier"), 0)
End If
End Sub
Mais rien ne marche, si quel qu'un peut m'aider ??
merci