OVH Cloud OVH Cloud

bloquer sur un champs

7 réponses
Avatar
asta
Bonjour,
J'ai un formulaire de saisie dans un champs que l'on nommera "nom" je dois
saisir le nom d'un client ce formulaire je l'ouvre en mode ajout, je voudrais
lorsque le nom est saisi qu'avant de passer au champs suivant un message
d'alerte signale que ce client est déjà présent dans le fichier, car bien que
ce nom soit une clef sans doublon, lorsque je fais ma saisie l'alerte arrive
qu'au moment de fermer le formulaire, donc en fait perte de temps car
beaucoup de saisie avant d'arriver à la fermeture du formulaire ....Pouvez
vous m'aider ? je suppose qu'il faut que je rentre du code sur mon champs
avec la fonction "si" mais que mettre ?????
Merci si vous pouvez me donner un coups de main.
cordialement
--
Asta

7 réponses

Avatar
3stone
re,

"asta"
| J'ai bien inscrit l'instruction telle que tu me la décris, elle fonctionne
| mais pas comme je le désire, en fait le message s'affiche n'importe qu'elle
| saisie qu'elle soit existante ou non ???? je souhaite que cet avertissement
| ne se manifeste que si le nom entré existe déjà , hors dans le cas présent
| l'alerte se manifeste même si je rentre un nom non existant.....Puis je te
| solliciter davantage ? par avance merci d'éclairer ma triste lanterne


"NomPrenom =""& me.NomPrenom &""


Le premier "NomPrenom" doit être le nom du champ dans la table...

Le second, Me!NomPrenom doit être le nom de la zone de texte
sur le formulaire.


PS: Ce n'est pas une bonne idée de mettre dans le même champ
le nom ET le prénom. Cela complique inutilement les éventuels
traitement par la suite.

--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Avatar
Hervé DUCARNE
Bonjour,

Le plus simple serait si tu n'as pas de champs avec la propriété "null
interdit" à Oui, d'enregistrer ton enregistrement après la mise à jour de
ton champ NOM.
Private Sub ChampNom_AfterUpdate()
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
End Sub

@+

"asta" a écrit dans le message de
news:
Bonjour,
J'ai un formulaire de saisie dans un champs que l'on nommera "nom" je dois
saisir le nom d'un client ce formulaire je l'ouvre en mode ajout, je
voudrais

lorsque le nom est saisi qu'avant de passer au champs suivant un message
d'alerte signale que ce client est déjà présent dans le fichier, car bien
que

ce nom soit une clef sans doublon, lorsque je fais ma saisie l'alerte
arrive

qu'au moment de fermer le formulaire, donc en fait perte de temps car
beaucoup de saisie avant d'arriver à la fermeture du formulaire ....Pouvez
vous m'aider ? je suppose qu'il faut que je rentre du code sur mon champs
avec la fonction "si" mais que mettre ?????
Merci si vous pouvez me donner un coups de main.
cordialement
--
Asta


Avatar
3stone
Salut,

"asta"
| J'ai un formulaire de saisie dans un champs que l'on nommera "nom" je dois
| saisir le nom d'un client ce formulaire je l'ouvre en mode ajout, je voudrais
| lorsque le nom est saisi qu'avant de passer au champs suivant un message
| d'alerte signale que ce client est déjà présent dans le fichier, car bien que
| ce nom soit une clef sans doublon, lorsque je fais ma saisie l'alerte arrive
| qu'au moment de fermer le formulaire, donc en fait perte de temps car
| beaucoup de saisie avant d'arriver à la fermeture du formulaire ....Pouvez
| vous m'aider ? je suppose qu'il faut que je rentre du code sur mon champs
| avec la fonction "si" mais que mettre ?????


Il te faut dans ce cas, vérifier la présence du nom saisi avant de quitter le contrôle...

Pour cela, tu mets dans l'événement sur "avant mise à jour"

if DCount("*","NomTable","Nom='" & me!Nom & "'") >0 then
Cancel = true
MsgBox "Existe déjà"
end if

et tu ne pourra plus passer au contrôle suivant si doublon !

PS: Bien sûr, "Nom" est un très mauvais exemple de nom de champ!


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Avatar
asta
Bonsoir 3stone
voici mon code :
If DCount("*","tbentete_divers","NomPrenom =""& me.NomPrenom &"")>0 then
j'ai une erreur de compilation il attends un séparateur de liste et je ne
trouve pas mon bug ????
Merci de ton aide
--
Asta



Salut,

"asta"
| J'ai un formulaire de saisie dans un champs que l'on nommera "nom" je dois
| saisir le nom d'un client ce formulaire je l'ouvre en mode ajout, je voudrais
| lorsque le nom est saisi qu'avant de passer au champs suivant un message
| d'alerte signale que ce client est déjà présent dans le fichier, car bien que
| ce nom soit une clef sans doublon, lorsque je fais ma saisie l'alerte arrive
| qu'au moment de fermer le formulaire, donc en fait perte de temps car
| beaucoup de saisie avant d'arriver à la fermeture du formulaire ....Pouvez
| vous m'aider ? je suppose qu'il faut que je rentre du code sur mon champs
| avec la fonction "si" mais que mettre ?????


Il te faut dans ce cas, vérifier la présence du nom saisi avant de quitter le contrôle...

Pour cela, tu mets dans l'événement sur "avant mise à jour"

if DCount("*","NomTable","Nom='" & me!Nom & "'") >0 then
Cancel = true
MsgBox "Existe déjà"
end if

et tu ne pourra plus passer au contrôle suivant si doublon !

PS: Bien sûr, "Nom" est un très mauvais exemple de nom de champ!


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/




Avatar
3stone
re,

"asta"
| voici mon code :
| If DCount("*","tbentete_divers","NomPrenom =""& me.NomPrenom &"")>0 then
| j'ai une erreur de compilation il attends un séparateur de liste et je ne
| trouve pas mon bug ????

attention :

If DCount(2*2,2tbentete_divers2,2NomPrenom  & me.NomPrenom & 212)>0 then

remplace les 1 par une apostrophe (')
remplace les 2 par des guillemets (")


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/
Avatar
asta
Bonjour,
J'ai bien inscrit l'instruction telle que tu me la décris, elle fonctionne
mais pas comme je le désire, en fait le message s'affiche n'importe qu'elle
saisie qu'elle soit existante ou non ???? je souhaite que cet avertissement
ne se manifeste que si le nom entré existe déjà , hors dans le cas présent
l'alerte se manifeste même si je rentre un nom non existant.....Puis je te
solliciter davantage ? par avance merci d'éclairer ma triste lanterne
--
Asta



re,

"asta"
| voici mon code :
| If DCount("*","tbentete_divers","NomPrenom =""& me.NomPrenom &"")>0 then
| j'ai une erreur de compilation il attends un séparateur de liste et je ne
| trouve pas mon bug ????

attention :

If DCount(2*2,2tbentete_divers2,2NomPrenom  & me.NomPrenom & 212)>0 then

remplace les 1 par une apostrophe (')
remplace les 2 par des guillemets (")


--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/




Avatar
asta
Merci cela fonctionne parfaitement
bon WE
--
Asta



re,

"asta"
| J'ai bien inscrit l'instruction telle que tu me la décris, elle fonctionne
| mais pas comme je le désire, en fait le message s'affiche n'importe qu'elle
| saisie qu'elle soit existante ou non ???? je souhaite que cet avertissement
| ne se manifeste que si le nom entré existe déjà , hors dans le cas présent
| l'alerte se manifeste même si je rentre un nom non existant.....Puis je te
| solliciter davantage ? par avance merci d'éclairer ma triste lanterne


"NomPrenom =""& me.NomPrenom &""


Le premier "NomPrenom" doit être le nom du champ dans la table...

Le second, Me!NomPrenom doit être le nom de la zone de texte
sur le formulaire.


PS: Ce n'est pas une bonne idée de mettre dans le même champ
le nom ET le prénom. Cela complique inutilement les éventuels
traitement par la suite.

--
A+
Pierre (3stone) Access MVP
Perso: http://users.skynet.be/accesshome/
Conseils MPFA: http://users.skynet.be/mpfa/