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

Vérifier donnée existante: Formulaire vs Table

3 réponses
Avatar
Butch
Bonjour,
J'ai déjà posté un autre message sur un sujet semblable (pas encore eu de
réponses..ça semble pas facile!) mais je travaille toujours dessus. Mais là,
j'ai une autre situation à régler! Merci pour votre patience.

J'aimerais pouvoir vérifier, lors de l'inscription d'une donnée dans un
champ de formulaire, si cette donnée existe déjà dans une table spécifique
de la BD?

Description: - Explications
Le contrôle utilisé dans le formulaire pour inscrire la donnée se nomme
(pour l'instant...): TestDon.
Ce formulaire est basé sur une table nommée: Bidon. Cette table contient
aussi le champ TestDon de type texte utilisé dans le formulaire.
Une table nommée Archives, contient un champ nommé TestDon2. Ce champ
contient déjà des données de type texte.

J'aimerais, lorsqu'on inscrit une donnée dans le champ TestDon du
formulaire, qu'après avoir appuyé sur la touche TAB ou Enter, un message
s'affiche à l'écran indiquant que cette donnée inscrite existe déjà dans le
champ TestDon2 de la table Archives.

Je crois qu'une "procédure" sur la propriété AvantMAJ (ou une autre) du
contrôle "TestDon" du formulaire pourrait probablement faire cela.. mais
là... je bloque!

Merci à qui pourrait m'aider.
Butch

3 réponses

Avatar
Pierre CFI [mvp]
bonjour
en vba
dans l'évenemnt BeforeUpdate de testdon

If dcount("testdon2","archives","testdon2 ='" & MeTestdon.value & "'") > 0 then
Msgbox "existe"
cancel = true
end if

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Butch" a écrit dans le message de news:hp4Fc.40965$%%
Bonjour,
J'ai déjà posté un autre message sur un sujet semblable (pas encore eu de
réponses..ça semble pas facile!) mais je travaille toujours dessus. Mais là,
j'ai une autre situation à régler! Merci pour votre patience.

J'aimerais pouvoir vérifier, lors de l'inscription d'une donnée dans un
champ de formulaire, si cette donnée existe déjà dans une table spécifique
de la BD?

Description: - Explications
Le contrôle utilisé dans le formulaire pour inscrire la donnée se nomme
(pour l'instant...): TestDon.
Ce formulaire est basé sur une table nommée: Bidon. Cette table contient
aussi le champ TestDon de type texte utilisé dans le formulaire.
Une table nommée Archives, contient un champ nommé TestDon2. Ce champ
contient déjà des données de type texte.

J'aimerais, lorsqu'on inscrit une donnée dans le champ TestDon du
formulaire, qu'après avoir appuyé sur la touche TAB ou Enter, un message
s'affiche à l'écran indiquant que cette donnée inscrite existe déjà dans le
champ TestDon2 de la table Archives.

Je crois qu'une "procédure" sur la propriété AvantMAJ (ou une autre) du
contrôle "TestDon" du formulaire pourrait probablement faire cela.. mais
là... je bloque!

Merci à qui pourrait m'aider.
Butch




Avatar
Eric
Bonjour Butch,

Même technique que sur ton post précédent du 30/06 auquel j'ai répondu le
01/07 vers 09:15.

A+
Eric


"Butch" écrivait
news:hp4Fc.40965$%%:

Bonjour,
J'ai déjà posté un autre message sur un sujet semblable (pas encore eu
de réponses..ça semble pas facile!) mais je travaille toujours dessus.
Mais là, j'ai une autre situation à régler! Merci pour votre
patience.

J'aimerais pouvoir vérifier, lors de l'inscription d'une donnée dans
un champ de formulaire, si cette donnée existe déjà dans une table
spécifique de la BD?

Description: - Explications
Le contrôle utilisé dans le formulaire pour inscrire la donnée se
nomme (pour l'instant...): TestDon.
Ce formulaire est basé sur une table nommée: Bidon. Cette table
contient aussi le champ TestDon de type texte utilisé dans le
formulaire. Une table nommée Archives, contient un champ nommé
TestDon2. Ce champ contient déjà des données de type texte.

J'aimerais, lorsqu'on inscrit une donnée dans le champ TestDon du
formulaire, qu'après avoir appuyé sur la touche TAB ou Enter, un
message s'affiche à l'écran indiquant que cette donnée inscrite existe
déjà dans le champ TestDon2 de la table Archives.

Je crois qu'une "procédure" sur la propriété AvantMAJ (ou une autre)
du contrôle "TestDon" du formulaire pourrait probablement faire cela..
mais là... je bloque!

Merci à qui pourrait m'aider.
Butch





Avatar
Butch
Bonjour Pierre

Merci pour tes renseignements.
J'ai tapé le code (ci-dessous) que tu m'a proposé:

dans l'évenement BeforeUpdate de testdon
If dcount("testdon2","archives","testdon2 ='" & MeTestdon.value & "'") > 0
then

Msgbox "existe"
cancel = true
end if


J'ai probablement fait une erreur quelque part ou je n'ai pas bien expliqué!
Lorsque j'inscris une donnée dans le contrôle "TestDon" du formulaire,
Access me retourne le message suivant: "Erreur d'exécution" - Opération
annulée".

Je recevais au début un autre message d'erreur m'indiquant: "Objet
attendu..." ou quelque chose comme ça. J'ai alors ajouté un point (.) après
le "mot" Me dans le code. Ai-je bien fait? Ce message n'est plus apparu
mais le deuxième ("Erreur d'exécution...") est toujours là!

Tu comprends sûrement que je ne suis pas à l'aise en VBA et que je m'efforce
d'apprendre.
As-tu une idée d'où pourrait venir l'erreur (Erreur d'exécution...) dans le
code?

P.-S: Je travaille avec Access XP

Encore merci d'avance,
Butch