OVH Cloud OVH Cloud

Message de saisie

9 réponses
Avatar
Jacques
Bonjour,

J'ai un formulaire avec une zone de texte qui me permet d'attribuer
un num=E9ro de famille aux Adh=E9rents, et une zone de texte qui me donne
le Nom de l'adh=E9rent.
Je voudrais lorsque je saisie ce num=E9ro avoir un message qui
m'informe que le Nom de cet enregistrement existe d=E9j=E0.

Merci de votre aide.

Salutations.

9 réponses

Avatar
Raymond [mvp]
Bonjour.

sur l'événement beforeupdate du numéro de famille, tu peux lancer une
fonction dlookup sur le nom pour vérifier s'il existe:
if isnull (DLookup("lechamp", "latable", "[lechamp] = '" & Me.LeNom & "'"))
then

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Nouvelle base Access des communes françaises avec
longitude, latitude et 13246 sites internet officiels
http://ardecheearth.free.fr/basededonnees.htm


"Jacques" a écrit dans le message de news:

Bonjour,

J'ai un formulaire avec une zone de texte qui me permet d'attribuer
un numéro de famille aux Adhérents, et une zone de texte qui me donne
le Nom de l'adhérent.
Je voudrais lorsque je saisie ce numéro avoir un message qui
m'informe que le Nom de cet enregistrement existe déjà.

Merci de votre aide.

Salutations.
Avatar
Jacques
Bonsoir Raymond,

Suivant tes conseils j'ai écrit cette ligne mais je n'obtient pas
le résultat voulue :

If IsNull(DLookup("NOM", "tbl Adhérents", "[NOM] = '" & Me.txtNom &
"'")) Then
MsgBox "Le Nom de l'Adhérent existe déja"
End If

Extrait de la table
N°Famille ............Nom
..........................AAA
..........................BBB
..........................AAA

Je voudrais lorsque je saisie le N°Famille de la première ligne Nom
"AAA" avoir le message "Le Nom de l'Adhérent "AAA" existe déja"
(sous-entendu "AAA" du 3 ème enregistrement).

Salutations.



Bonjour.

sur l'événement beforeupdate du numéro de famille, tu peux lancer u ne
fonction dlookup sur le nom pour vérifier s'il existe:
if isnull (DLookup("lechamp", "latable", "[lechamp] = '" & Me.LeNom & " '"))
then

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Nouvelle base Access des communes françaises avec
longitude, latitude et 13246 sites internet officiels
http://ardecheearth.free.fr/basededonnees.htm


"Jacques" a écrit dans le message de news:

Bonjour,

J'ai un formulaire avec une zone de texte qui me permet d'attribuer
un numéro de famille aux Adhérents, et une zone de texte qui me donne
le Nom de l'adhérent.
Je voudrais lorsque je saisie ce numéro avoir un message qui
m'informe que le Nom de cet enregistrement existe déjà.

Merci de votre aide.

Salutations.


Avatar
Raymond [mvp]
c'est le contraire qu'il faut faire:
If Not IsNull(DLookup("NOM", "tbl Adhérents", "[NOM] = '" & Me.txtNom &
"'")) Then
MsgBox "Le Nom de l'Adhérent existe déja"
End If

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Nouvelle base Access des communes françaises avec
longitude, latitude et 13246 sites internet officiels
http://ardecheearth.free.fr/basededonnees.htm


"Jacques" a écrit dans le message de news:

Bonsoir Raymond,

Suivant tes conseils j'ai écrit cette ligne mais je n'obtient pas
le résultat voulue :

If IsNull(DLookup("NOM", "tbl Adhérents", "[NOM] = '" & Me.txtNom &
"'")) Then
MsgBox "Le Nom de l'Adhérent existe déja"
End If

Extrait de la table
N°Famille ............Nom
..........................AAA
..........................BBB
..........................AAA

Je voudrais lorsque je saisie le N°Famille de la première ligne Nom
"AAA" avoir le message "Le Nom de l'Adhérent "AAA" existe déja"
(sous-entendu "AAA" du 3 ème enregistrement).

Salutations.



Bonjour.

sur l'événement beforeupdate du numéro de famille, tu peux lancer une
fonction dlookup sur le nom pour vérifier s'il existe:
if isnull (DLookup("lechamp", "latable", "[lechamp] = '" & Me.LeNom &
"'"))
then

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Nouvelle base Access des communes françaises avec
longitude, latitude et 13246 sites internet officiels
http://ardecheearth.free.fr/basededonnees.htm


"Jacques" a écrit dans le message de news:

Bonjour,

J'ai un formulaire avec une zone de texte qui me permet d'attribuer
un numéro de famille aux Adhérents, et une zone de texte qui me donne
le Nom de l'adhérent.
Je voudrais lorsque je saisie ce numéro avoir un message qui
m'informe que le Nom de cet enregistrement existe déjà.

Merci de votre aide.

Salutations.


Avatar
Jacques
Re Bonsoir Raymond,

Je ne comprend pas car même l'orsque le Nom n' existe qu'une fois le
méssage s'affiche,
alors que je joudrais l'affichage uniquement si la table contient
plusieur fois le même Nom.

Salutations.


c'est le contraire qu'il faut faire:
If Not IsNull(DLookup("NOM", "tbl Adhérents", "[NOM] = '" & Me.txtNom &
"'")) Then
MsgBox "Le Nom de l'Adhérent existe déja"
End If

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Nouvelle base Access des communes françaises avec
longitude, latitude et 13246 sites internet officiels
http://ardecheearth.free.fr/basededonnees.htm


"Jacques" a écrit dans le message de news:

Bonsoir Raymond,

Suivant tes conseils j'ai écrit cette ligne mais je n'obtient pas
le résultat voulue :

If IsNull(DLookup("NOM", "tbl Adhérents", "[NOM] = '" & Me.txtNom &
"'")) Then
MsgBox "Le Nom de l'Adhérent existe déja"
End If

Extrait de la table
N°Famille ............Nom
..........................AAA
..........................BBB
..........................AAA

Je voudrais lorsque je saisie le N°Famille de la première ligne Nom
"AAA" avoir le message "Le Nom de l'Adhérent "AAA" existe déja"
(sous-entendu "AAA" du 3 ème enregistrement).

Salutations.



Bonjour.

sur l'événement beforeupdate du numéro de famille, tu peux lancer une
fonction dlookup sur le nom pour vérifier s'il existe:
if isnull (DLookup("lechamp", "latable", "[lechamp] = '" & Me.LeNom &
"'"))
then

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Nouvelle base Access des communes françaises avec
longitude, latitude et 13246 sites internet officiels
http://ardecheearth.free.fr/basededonnees.htm


"Jacques" a écrit dans le message de news:

Bonjour,

J'ai un formulaire avec une zone de texte qui me permet d'attribuer
un numéro de famille aux Adhérents, et une zone de texte qui me don ne
le Nom de l'adhérent.
Je voudrais lorsque je saisie ce numéro avoir un message qui
m'informe que le Nom de cet enregistrement existe déjà.

Merci de votre aide.

Salutations.




Avatar
Raymond [mvp]
2 fois y compris la nouvelle saisie ? c'est bien ça ?

tu placesdans ta procédure la fonction suivante:
msgbox DLookup("NOM", "tbl Adhérents", "[NOM] = '" & Me.txtNom & "'"

NOM est bien le nom du champ ?
qu'est-ce que ça affiche à chaque saisie ?

mets-tu bien la fonction dans l'événement BeforeUpdate de NOM ?
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Nouvelle base Access des communes françaises avec
longitude, latitude et 13246 sites internet officiels
http://ardecheearth.free.fr/basededonnees.htm


"Jacques" a écrit dans le message de news:

Re Bonsoir Raymond,

Je ne comprend pas car même l'orsque le Nom n' existe qu'une fois le
méssage s'affiche,
alors que je joudrais l'affichage uniquement si la table contient
plusieur fois le même Nom.

Salutations.
Avatar
Jacques
Re Bonsoir,

C'est bien 2 fois y compris la nouvelle saisie (dans mon exemple si
je renseigne le numéro de famille de « AAA » première ligne je dois
avoir le message puisque « AAA » existe à la troisième ligne, mais
si je renseigne le numéro de famille de « BBB » deuxième ligne je
ne dois pas avoir de message.)

J'ai placé dans la procédure la fonction suivante:
msgbox DLookup ("NOM", "tbl Adhérents", "[NOM] = '" & Me.txtNom &
"'")
Le msgbox me donne bien le Nom. (Même si n'en existe qu'un).

Le NOM est bien le nom du champ de la table Adhérents
« Qu'est-ce que ça affiche à chaque saisie ? »
Je ne saisie pas le Nom il existe déjà dans ma table.
Je saisie uniquement le Numéro de famille.

Mets-tu bien la fonction dans l'événement BeforeUpdate de NOM ?
Non elle se trouve dans l'événement BeforeUpdate de NuméroFamille,
mais j'ai essayé sur NOM et cela ne marche pas.

Salutations.



2 fois y compris la nouvelle saisie ? c'est bien ça ?

tu placesdans ta procédure la fonction suivante:
msgbox DLookup("NOM", "tbl Adhérents", "[NOM] = '" & Me.txtNom & "'"

NOM est bien le nom du champ ?
qu'est-ce que ça affiche à chaque saisie ?

mets-tu bien la fonction dans l'événement BeforeUpdate de NOM ?
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Nouvelle base Access des communes françaises avec
longitude, latitude et 13246 sites internet officiels
http://ardecheearth.free.fr/basededonnees.htm


"Jacques" a écrit dans le message de news:

Re Bonsoir Raymond,

Je ne comprend pas car même l'orsque le Nom n' existe qu'une fois le
méssage s'affiche,
alors que je voudrais l'affichage uniquement si la table contient
plusieur fois le même Nom.

Salutations.


Avatar
Raymond [mvp]
Bonjour.

c'est bien dans le beforeupdate du numéro qu'il faut le mettre.

ça veut dire que ta saisie est enregistrée au moment où tu lances le
DLookup.
tu peux la remplacer par ceci pour récupérer le numéro de ligne:
Dim W as Variant
W = DLookup("NuméroFamille", "tbl Adhérents", "[NOM] = '" & Me.txtNom & "'")
if Nz(W, "") = "" Then
msgbox "le numéro n'existe pas"
else
msgbox "le numéro existe"
end if

si ça ne marche pas il y a autre chose qui n'a rien à voir avec le dlookup.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Nouvelle base Access des communes françaises avec
longitude, latitude et 13246 sites internet officiels
http://ardecheearth.free.fr/basededonnees.htm


"Jacques" a écrit dans le message de news:


Re Bonsoir,

C'est bien 2 fois y compris la nouvelle saisie (dans mon exemple si
je renseigne le numéro de famille de « AAA » première ligne je dois
avoir le message puisque « AAA » existe à la troisième ligne, mais
si je renseigne le numéro de famille de « BBB » deuxième ligne je
ne dois pas avoir de message.)

J'ai placé dans la procédure la fonction suivante:
msgbox DLookup ("NOM", "tbl Adhérents", "[NOM] = '" & Me.txtNom &
"'")
Le msgbox me donne bien le Nom. (Même si n'en existe qu'un).

Le NOM est bien le nom du champ de la table Adhérents
« Qu'est-ce que ça affiche à chaque saisie ? »
Je ne saisie pas le Nom il existe déjà dans ma table.
Je saisie uniquement le Numéro de famille.

Mets-tu bien la fonction dans l'événement BeforeUpdate de NOM ?
Non elle se trouve dans l'événement BeforeUpdate de NuméroFamille,
mais j'ai essayé sur NOM et cela ne marche pas.

Salutations.
Avatar
Jacques
Bonjour Raymond,

Désolé de t'embêter avec mon problème.

La dernière fonction est correcte, mais elle ne répond pas à mon
problème. Elle m'indique que le numéro que je saisis moi-même
existe ou pas.
Avec cela je ne peux pas contrôler que le Nom "AAA" existe une fois ou
plusieurs fois.

Peut-être q'une fonction qui compte combien de fois "AAA" existe dans
la table suffit ?
et pour message "La table comprend 2 membres de la même famille"

Merci pour ton aide.

Salutations.


Bonjour.

c'est bien dans le beforeupdate du numéro qu'il faut le mettre.

ça veut dire que ta saisie est enregistrée au moment où tu lances le
DLookup.
tu peux la remplacer par ceci pour récupérer le numéro de ligne:
Dim W as Variant
W = DLookup("NuméroFamille", "tbl Adhérents", "[NOM] = '" & Me.tx tNom & "'")
if Nz(W, "") = "" Then
msgbox "le numéro n'existe pas"
else
msgbox "le numéro existe"
end if

si ça ne marche pas il y a autre chose qui n'a rien à voir avec le dl ookup.
--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Nouvelle base Access des communes françaises avec
longitude, latitude et 13246 sites internet officiels
http://ardecheearth.free.fr/basededonnees.htm


"Jacques" a écrit dans le message de news:


Re Bonsoir,

C'est bien 2 fois y compris la nouvelle saisie (dans mon exemple si
je renseigne le numéro de famille de « AAA » première ligne je do is
avoir le message puisque « AAA » existe à la troisième ligne, mais
si je renseigne le numéro de famille de « BBB » deuxième ligne je
ne dois pas avoir de message.)

J'ai placé dans la procédure la fonction suivante:
msgbox DLookup ("NOM", "tbl Adhérents", "[NOM] = '" & Me.txtNom &
"'")
Le msgbox me donne bien le Nom. (Même si n'en existe qu'un).

Le NOM est bien le nom du champ de la table Adhérents
« Qu'est-ce que ça affiche à chaque saisie ? »
Je ne saisie pas le Nom il existe déjà dans ma table.
Je saisie uniquement le Numéro de famille.

Mets-tu bien la fonction dans l'événement BeforeUpdate de NOM ?
Non elle se trouve dans l'événement BeforeUpdate de NuméroFamille,
mais j'ai essayé sur NOM et cela ne marche pas.

Salutations.


Avatar
Raymond [mvp]
à ce moment-là utilise la fonction DCount qui comprend les mêmes paramètres
que le DLookup.

--
@+
Raymond Access MVP http://OfficeSystem.Access.free.fr/
Pour débuter sur le forum: http://www.mpfa.info/
Nouvelle base Access des communes françaises avec
longitude, latitude et 13246 sites internet officiels
http://ardecheearth.free.fr/basededonnees.htm


"Jacques" a écrit dans le message de news:

Bonjour Raymond,

Désolé de t'embêter avec mon problème.

La dernière fonction est correcte, mais elle ne répond pas à mon
problème. Elle m'indique que le numéro que je saisis moi-même
existe ou pas.
Avec cela je ne peux pas contrôler que le Nom "AAA" existe une fois ou
plusieurs fois.

Peut-être q'une fonction qui compte combien de fois "AAA" existe dans
la table suffit ?
et pour message "La table comprend 2 membres de la même famille"

Merci pour ton aide.

Salutations.