Bonjour,
Dans ma table, la clé primaire est sur le nom de la personne. [Nom]
Autre champ : [N° dossier]
J'aimerais avoir une MsgBox si le même n° de dossier est déjà encodé. (cela servirait de 2ème clé ....)
Des idées ?
Merci.
Bonne soirée
Bonjour,
Dans ma table, la clé primaire est sur le nom de la personne. [Nom]
Autre champ : [N° dossier]
J'aimerais avoir une MsgBox si le même n° de dossier est déjà encodé. (cela servirait de 2ème clé ....)
Des idées ?
Merci.
Bonne soirée
Salut
Vous devez utiliser cette méthode pour vérifier qu'il n'y ait pas de doublon dans n°dossier
"Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
UR - ESIROI - GPME/CG/DCG8
QTH :21°19'18"S - 055°25'32"E
Inutile de me contacter par MP
Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur
ça c'est un autre problème...... il est vrai qu'il peut avoir 2 personnes du même nom
Déjà ce n'est pas une bonne idée de caler une clé primaire sur un nom car le nom n'est pas unique ! Utilise plutot un num auto comme PK.
sinon pour vérifier à la saisie d'un numero de dossier qu'il est unique, utiliser l'EVT _beforeUpdate :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 private sub NumeroDossier_beforeUpdate(cancel as boolean) if len(me.NumeroDossier ) > 0 then If dcount("*","Table_dossier", "[N° dossier] ='" & me.NumeroDossier & "'") > 0 then msgbox ("Ce NumeroDossier existe déjà !" , vbinformation, " Corrigez la saisie" Cancel = true end if end if end sub
"Always look at the bright side of life." Monty Python.
J'ai un message d'erreur : La déclaration de la procédure ne correspond pas à la description de l'événement ....
Pour info, ma table : Jeune
Mon champ : [N°]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub N°_BeforeUpdate(cancel As Boolean) If Len(Me.N°) > 0 Then If DCount("*", "Jeune", "[N°] ='" & Me.N° & "'") > 0 Then msgbox ("Ce NumeroDossier existe déjà !" , vbinformation, " Corrigez la saisie" cancel = True End If End If End Sub End Sub
re,
si N° est numérique il faut supprimer les simples quotes dans le critère en ligne 4 de votre sub()
"Le savoir est la seule matière qui s'accroit quand on la partage" (Socrate)
UR - ESIROI - GPME/CG/DCG8
QTH :21°19'18"S - 055°25'32"E
Inutile de me contacter par MP
Merci de cliquer sur si la réponse vous a permis de résoudre votre problème et n'oubliez pas de clôturer le fil en cliquant sur
Je débute avec le VBA et cela n'est pas facile....
Je comprends que je dois enlever des guillemets mais je ne sais pas où...
J'ai une autre solution :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 Private Sub Numero_AfterUpdate() If DCount("*", "Jeune", "Numero ='" & Me.Numero & "'") > 0 Then MsgBox "Ce NumeroDossier existe déjà !", vbInformation, " Corrigez la saisie" Cancel = True End If End Sub
J'ai changé le nom du champ : [Numero] au lieu de [N°] et je l'ai mis en texte court au lieu de numérique.
Ce qui m'intéresse est d'avoir les 2 codes enen numérique et texte court
Code : Sélectionner tout - Visualiser dans une fenêtre à part BeforeUpdate()
Merci
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager