Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Message d'erreur si données correspondent au donnée d'une autre ta

26 réponses
Avatar
Carolyn
Bonjour,

J'ai écrit il y a quelques jours concernant mon problème. J'aimerais, si
possible, pouvoir créer un message d'erreur si on entre des données dans une
table qui sont déjà entrées dans une autre.

Pour être plus précise, j'ai créé une base de données qui fait un suivi de
tous les ressources qui postulent pour un poste à l'intérieur de mon
entreprise. Nous voulons donc créer une "Blacklist", c'est-à-dire une liste
de gens qu'on ne voudra jamais engager pour notre entreprise. Ainsi, dans la
table de candidature, au lieu de prendre pour acquis que la personne qui
entrera les données va connaître tous les noms de la Blacklist par coeur, il
serait utile qu'un message d'erreur survienne lorsque un de ces noms est
entré.

On m'a dit de me référer à un programmeur pour ceci. Quelqu'un peut m'aider??

Merci infiniment!
Carolyn

6 réponses

1 2 3
Avatar
Willi2004
Bonjour Carolyn.
Rectifie comme suit:

Private Sub Ressource_BeforeUpdate(Cancel As Integer)
If Not IsNull(DLookup("[Nom]", "BlackList", _
"[Nom] ='" & Me.Ressource & "'")) Then
MsgBox "Attention ce postulant est dans la blacklist !!!"
Cancel = True
End If
End Sub

Cependant, je te conseille de renommer le champ "Nom" de la table Blacklist
car "Nom" est un mot réservé Access et son utilisation peut souvent
entraîner quelques difficultés.


"Fabien" a écrit dans le message de news:
468e5625$0$25918$
| > C'est exactement ça que je veux!!
| >
| > Quand j'ai copié / collé exactement ton code, ça ne fonctionnait pas
parce
| > que nos champs n'avaient pas le même nom... Alors j'ai adapté pour ma
DB:
| >
| > Private Sub Ressource_AfterUpdate()
| >
| > End Sub
| >
| > Private Sub Ressource_BeforeUpdate(Cancel As Integer)
| > If Nz(DCount("[Ressource]", "Blacklist", "[Ressource] = '" &
Me.Ressource &
| > "'"), 0) > 0 Then
| > MsgBox "Attention ressource dans blacklist !!!"
| > Cancel = True
| > End If
| > End Sub
| >
| > Ceci fonctionne, le message d'erreur apparaît, mais il apparaît pour
TOUS
| > les noms qu'on entre maintenant, et non que pour ceux dans la blacklist.
| >
| > Je m'excuse pour être aussi difficile, mais on y est presque!!!
| >
| > Merci infiniment,
| > Carolyn
| Quelque chose doit m'echapper parceque le petit bout de base que je t'ai
| donné en exemple fonctionne sans soucis.
| Recapitulons :
| Une Table TBLRessource, une table Blacklist.
| Un formulaire de saisi ayant comme source de données TblRessource.
| Un champ Ressource.
| Lorsque l'on saisi un Nom dans ce champ, la procedure beforeUpdate
| controle que ce nom n'est pas dan la tables blacklist.
| Si le nom y est alors message et on revient sur la saisie.
| S'il n'y est pas on continu la saisie
| J'ai bon là ?
|
| Qu'est ce que tu as de ton coté ?
| Nom des tables ? noms des champs ? nom du formulaire ?
| L'idéal serait de me passer cette base ou un extrait que j'y jette un
| oeuil Lundi.
| Soit tu passe par http://cjoint.com/
| Soit tu l'expédie en PJ a mon adresse (enleve
| les xxx)
| Bon week
|
Avatar
Carolyn
Un autre qui vient à ma rescousse!!

Alors j'ai changé de nom de champs dans "Blacklist" pour le nom "Ressource".
Alors j'ai remplacé dans le code tous les "Nom" par "Ressource".

Ceci fonctionne dans la DB que je vous ai envoyée, donc celle avec si peu
d'entrée, mais quand je fais exactement la même dans ma DB actuelly, tous les
noms entrés font afficher le message d'erreur! :(

Est-ce possible que la présence de requêtes et d'états basés sur la table
Applications font en sorte que ça ne fonctionne pas??

Bon, je quitte le bureau pour la fin de semaine, mais je reprendrai mes
efforts lundi!!

Merci pour toute votre aide!!
Carolyn


Bonjour Carolyn.
Rectifie comme suit:

Private Sub Ressource_BeforeUpdate(Cancel As Integer)
If Not IsNull(DLookup("[Nom]", "BlackList", _
"[Nom] ='" & Me.Ressource & "'")) Then
MsgBox "Attention ce postulant est dans la blacklist !!!"
Cancel = True
End If
End Sub

Cependant, je te conseille de renommer le champ "Nom" de la table Blacklist
car "Nom" est un mot réservé Access et son utilisation peut souvent
entraîner quelques difficultés.


"Fabien" a écrit dans le message de news:
468e5625$0$25918$
| > C'est exactement ça que je veux!!
| >
| > Quand j'ai copié / collé exactement ton code, ça ne fonctionnait pas
parce
| > que nos champs n'avaient pas le même nom... Alors j'ai adapté pour ma
DB:
| >
| > Private Sub Ressource_AfterUpdate()
| >
| > End Sub
| >
| > Private Sub Ressource_BeforeUpdate(Cancel As Integer)
| > If Nz(DCount("[Ressource]", "Blacklist", "[Ressource] = '" &
Me.Ressource &
| > "'"), 0) > 0 Then
| > MsgBox "Attention ressource dans blacklist !!!"
| > Cancel = True
| > End If
| > End Sub
| >
| > Ceci fonctionne, le message d'erreur apparaît, mais il apparaît pour
TOUS
| > les noms qu'on entre maintenant, et non que pour ceux dans la blacklist.
| >
| > Je m'excuse pour être aussi difficile, mais on y est presque!!!
| >
| > Merci infiniment,
| > Carolyn
| Quelque chose doit m'echapper parceque le petit bout de base que je t'ai
| donné en exemple fonctionne sans soucis.
| Recapitulons :
| Une Table TBLRessource, une table Blacklist.
| Un formulaire de saisi ayant comme source de données TblRessource.
| Un champ Ressource.
| Lorsque l'on saisi un Nom dans ce champ, la procedure beforeUpdate
| controle que ce nom n'est pas dan la tables blacklist.
| Si le nom y est alors message et on revient sur la saisie.
| S'il n'y est pas on continu la saisie
| J'ai bon là ?
|
| Qu'est ce que tu as de ton coté ?
| Nom des tables ? noms des champs ? nom du formulaire ?
| L'idéal serait de me passer cette base ou un extrait que j'y jette un
| oeuil Lundi.
| Soit tu passe par http://cjoint.com/
| Soit tu l'expédie en PJ a mon adresse (enleve
| les xxx)
| Bon week
|






Avatar
Eric
re,

Dans la table Blacklist, le champ s'appelait Nom et pas Ressource.
Je viens de le modifier en Ressource et là, je n'ai plus de problème.

la bd ici : http://cjoint.com/?hgt5n6YLLR

Encore une fois, le message d'erreur s'affiche avec TOUTE entrée dans
"Ressource". Je vous renvoie une DB avec toutes les relations entre les
tables de ma DB mais seulement une entrée dans Applications. Peut-être que
ça aidera?

http://cjoint.com/?hgrRdFXJAI

Merci encore!!!!!!
Carolyn


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

Avatar
Willi2004
Je crois que le libellé du message d'erreur et aussi la partie du code
surlignée en jaune dans la fenêtre de débogage nous aideraient à mieux
situer le problème.


"Carolyn" a écrit dans le message de
news:
| Un autre qui vient à ma rescousse!!
|
| Alors j'ai changé de nom de champs dans "Blacklist" pour le nom
"Ressource".
| Alors j'ai remplacé dans le code tous les "Nom" par "Ressource".
|
| Ceci fonctionne dans la DB que je vous ai envoyée, donc celle avec si peu
| d'entrée, mais quand je fais exactement la même dans ma DB actuelly, tous
les
| noms entrés font afficher le message d'erreur! :(
|
| Est-ce possible que la présence de requêtes et d'états basés sur la table
| Applications font en sorte que ça ne fonctionne pas??
|
| Bon, je quitte le bureau pour la fin de semaine, mais je reprendrai mes
| efforts lundi!!
|
| Merci pour toute votre aide!!
| Carolyn
|
|
| > Bonjour Carolyn.
| > Rectifie comme suit:
| >
| > Private Sub Ressource_BeforeUpdate(Cancel As Integer)
| > If Not IsNull(DLookup("[Nom]", "BlackList", _
| > "[Nom] ='" & Me.Ressource & "'")) Then
| > MsgBox "Attention ce postulant est dans la blacklist !!!"
| > Cancel = True
| > End If
| > End Sub
| >
| > Cependant, je te conseille de renommer le champ "Nom" de la table
Blacklist
| > car "Nom" est un mot réservé Access et son utilisation peut souvent
| > entraîner quelques difficultés.
| >
| >
| > "Fabien" a écrit dans le message de news:
| > 468e5625$0$25918$
| > | > C'est exactement ça que je veux!!
| > | >
| > | > Quand j'ai copié / collé exactement ton code, ça ne fonctionnait pas
| > parce
| > | > que nos champs n'avaient pas le même nom... Alors j'ai adapté pour
ma
| > DB:
| > | >
| > | > Private Sub Ressource_AfterUpdate()
| > | >
| > | > End Sub
| > | >
| > | > Private Sub Ressource_BeforeUpdate(Cancel As Integer)
| > | > If Nz(DCount("[Ressource]", "Blacklist", "[Ressource] = '" &
| > Me.Ressource &
| > | > "'"), 0) > 0 Then
| > | > MsgBox "Attention ressource dans blacklist !!!"
| > | > Cancel = True
| > | > End If
| > | > End Sub
| > | >
| > | > Ceci fonctionne, le message d'erreur apparaît, mais il apparaît pour
| > TOUS
| > | > les noms qu'on entre maintenant, et non que pour ceux dans la
blacklist.
| > | >
| > | > Je m'excuse pour être aussi difficile, mais on y est presque!!!
| > | >
| > | > Merci infiniment,
| > | > Carolyn
| > | Quelque chose doit m'echapper parceque le petit bout de base que je
t'ai
| > | donné en exemple fonctionne sans soucis.
| > | Recapitulons :
| > | Une Table TBLRessource, une table Blacklist.
| > | Un formulaire de saisi ayant comme source de données TblRessource.
| > | Un champ Ressource.
| > | Lorsque l'on saisi un Nom dans ce champ, la procedure beforeUpdate
| > | controle que ce nom n'est pas dan la tables blacklist.
| > | Si le nom y est alors message et on revient sur la saisie.
| > | S'il n'y est pas on continu la saisie
| > | J'ai bon là ?
| > |
| > | Qu'est ce que tu as de ton coté ?
| > | Nom des tables ? noms des champs ? nom du formulaire ?
| > | L'idéal serait de me passer cette base ou un extrait que j'y jette un
| > | oeuil Lundi.
| > | Soit tu passe par http://cjoint.com/
| > | Soit tu l'expédie en PJ a mon adresse
(enleve
| > | les xxx)
| > | Bon week
| > |
| >
| >
| >
| >
Avatar
Dom
H.S. :

Just a joke ;-)))

Mieux vaut BD que DB ;-))) In French, of course.

Dominique.

"Willi2004" a écrit dans le message de news:
%
Je crois que le libellé du message d'erreur et aussi la partie du code
surlignée en jaune dans la fenêtre de débogage nous aideraient à mieux
situer le problème.


"Carolyn" a écrit dans le message de
news:
| Un autre qui vient à ma rescousse!!
|
| Alors j'ai changé de nom de champs dans "Blacklist" pour le nom
"Ressource".
| Alors j'ai remplacé dans le code tous les "Nom" par "Ressource".
|
| Ceci fonctionne dans la DB que je vous ai envoyée, donc celle avec si
peu
| d'entrée, mais quand je fais exactement la même dans ma DB actuelly,
tous
les
| noms entrés font afficher le message d'erreur! :(
|
| Est-ce possible que la présence de requêtes et d'états basés sur la
table
| Applications font en sorte que ça ne fonctionne pas??
|
| Bon, je quitte le bureau pour la fin de semaine, mais je reprendrai mes
| efforts lundi!!
|
| Merci pour toute votre aide!!
| Carolyn
|
|
| > Bonjour Carolyn.
| > Rectifie comme suit:
| >
| > Private Sub Ressource_BeforeUpdate(Cancel As Integer)
| > If Not IsNull(DLookup("[Nom]", "BlackList", _
| > "[Nom] ='" & Me.Ressource & "'")) Then
| > MsgBox "Attention ce postulant est dans la blacklist !!!"
| > Cancel = True
| > End If
| > End Sub
| >
| > Cependant, je te conseille de renommer le champ "Nom" de la table
Blacklist
| > car "Nom" est un mot réservé Access et son utilisation peut souvent
| > entraîner quelques difficultés.
| >
| >
| > "Fabien" a écrit dans le message de
news:
| > 468e5625$0$25918$
| > | > C'est exactement ça que je veux!!
| > | >
| > | > Quand j'ai copié / collé exactement ton code, ça ne fonctionnait
pas
| > parce
| > | > que nos champs n'avaient pas le même nom... Alors j'ai adapté pour
ma
| > DB:
| > | >
| > | > Private Sub Ressource_AfterUpdate()
| > | >
| > | > End Sub
| > | >
| > | > Private Sub Ressource_BeforeUpdate(Cancel As Integer)
| > | > If Nz(DCount("[Ressource]", "Blacklist", "[Ressource] = '" &
| > Me.Ressource &
| > | > "'"), 0) > 0 Then
| > | > MsgBox "Attention ressource dans blacklist !!!"
| > | > Cancel = True
| > | > End If
| > | > End Sub
| > | >
| > | > Ceci fonctionne, le message d'erreur apparaît, mais il apparaît
pour
| > TOUS
| > | > les noms qu'on entre maintenant, et non que pour ceux dans la
blacklist.
| > | >
| > | > Je m'excuse pour être aussi difficile, mais on y est presque!!!
| > | >
| > | > Merci infiniment,
| > | > Carolyn
| > | Quelque chose doit m'echapper parceque le petit bout de base que je
t'ai
| > | donné en exemple fonctionne sans soucis.
| > | Recapitulons :
| > | Une Table TBLRessource, une table Blacklist.
| > | Un formulaire de saisi ayant comme source de données TblRessource.
| > | Un champ Ressource.
| > | Lorsque l'on saisi un Nom dans ce champ, la procedure beforeUpdate
| > | controle que ce nom n'est pas dan la tables blacklist.
| > | Si le nom y est alors message et on revient sur la saisie.
| > | S'il n'y est pas on continu la saisie
| > | J'ai bon là ?
| > |
| > | Qu'est ce que tu as de ton coté ?
| > | Nom des tables ? noms des champs ? nom du formulaire ?
| > | L'idéal serait de me passer cette base ou un extrait que j'y jette
un
| > | oeuil Lundi.
| > | Soit tu passe par http://cjoint.com/
| > | Soit tu l'expédie en PJ a mon adresse
(enleve
| > | les xxx)
| > | Bon week
| > |
| >
| >
| >
| >




Avatar
Dom
Désolé, je me suis trompé .

Pardonnez -moi !

Dominique.

"Dom" a écrit dans le message de news:
4692726c$0$18107$
H.S. :

Just a joke ;-)))

Mieux vaut BD que DB ;-))) In French, of course.

Dominique.

"Willi2004" a écrit dans le message de news:
%
Je crois que le libellé du message d'erreur et aussi la partie du code
surlignée en jaune dans la fenêtre de débogage nous aideraient à mieux
situer le problème.


"Carolyn" a écrit dans le message de
news:
| Un autre qui vient à ma rescousse!!
|
| Alors j'ai changé de nom de champs dans "Blacklist" pour le nom
"Ressource".
| Alors j'ai remplacé dans le code tous les "Nom" par "Ressource".
|
| Ceci fonctionne dans la DB que je vous ai envoyée, donc celle avec si
peu
| d'entrée, mais quand je fais exactement la même dans ma DB actuelly,
tous
les
| noms entrés font afficher le message d'erreur! :(
|
| Est-ce possible que la présence de requêtes et d'états basés sur la
table
| Applications font en sorte que ça ne fonctionne pas??
|
| Bon, je quitte le bureau pour la fin de semaine, mais je reprendrai mes
| efforts lundi!!
|
| Merci pour toute votre aide!!
| Carolyn
|
|
| > Bonjour Carolyn.
| > Rectifie comme suit:
| >
| > Private Sub Ressource_BeforeUpdate(Cancel As Integer)
| > If Not IsNull(DLookup("[Nom]", "BlackList", _
| > "[Nom] ='" & Me.Ressource & "'")) Then
| > MsgBox "Attention ce postulant est dans la blacklist !!!"
| > Cancel = True
| > End If
| > End Sub
| >
| > Cependant, je te conseille de renommer le champ "Nom" de la table
Blacklist
| > car "Nom" est un mot réservé Access et son utilisation peut souvent
| > entraîner quelques difficultés.
| >
| >
| > "Fabien" a écrit dans le message de
news:
| > 468e5625$0$25918$
| > | > C'est exactement ça que je veux!!
| > | >
| > | > Quand j'ai copié / collé exactement ton code, ça ne fonctionnait
pas
| > parce
| > | > que nos champs n'avaient pas le même nom... Alors j'ai adapté
pour
ma
| > DB:
| > | >
| > | > Private Sub Ressource_AfterUpdate()
| > | >
| > | > End Sub
| > | >
| > | > Private Sub Ressource_BeforeUpdate(Cancel As Integer)
| > | > If Nz(DCount("[Ressource]", "Blacklist", "[Ressource] = '" &
| > Me.Ressource &
| > | > "'"), 0) > 0 Then
| > | > MsgBox "Attention ressource dans blacklist !!!"
| > | > Cancel = True
| > | > End If
| > | > End Sub
| > | >
| > | > Ceci fonctionne, le message d'erreur apparaît, mais il apparaît
pour
| > TOUS
| > | > les noms qu'on entre maintenant, et non que pour ceux dans la
blacklist.
| > | >
| > | > Je m'excuse pour être aussi difficile, mais on y est presque!!!
| > | >
| > | > Merci infiniment,
| > | > Carolyn
| > | Quelque chose doit m'echapper parceque le petit bout de base que je
t'ai
| > | donné en exemple fonctionne sans soucis.
| > | Recapitulons :
| > | Une Table TBLRessource, une table Blacklist.
| > | Un formulaire de saisi ayant comme source de données TblRessource.
| > | Un champ Ressource.
| > | Lorsque l'on saisi un Nom dans ce champ, la procedure beforeUpdate
| > | controle que ce nom n'est pas dan la tables blacklist.
| > | Si le nom y est alors message et on revient sur la saisie.
| > | S'il n'y est pas on continu la saisie
| > | J'ai bon là ?
| > |
| > | Qu'est ce que tu as de ton coté ?
| > | Nom des tables ? noms des champs ? nom du formulaire ?
| > | L'idéal serait de me passer cette base ou un extrait que j'y jette
un
| > | oeuil Lundi.
| > | Soit tu passe par http://cjoint.com/
| > | Soit tu l'expédie en PJ a mon adresse
(enleve
| > | les xxx)
| > | Bon week
| > |
| >
| >
| >
| >








1 2 3