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

verif à la fin de saisie dans 1 controle si déjà dans la table

15 réponses
Avatar
sylvere
Bonjour,
Dans un sous formulaire de saisie, en fin de saisie d'un champ texte
"stagiaire", je souhaite verifier dans la table de destination si cette
saisie existe déjà et envoyer un message de confirmation/abandon, pour
maitriser si on veut un doublon...

Ce sous formulaire est lié à un formulaire qui contient un champ "stage" de
la table convention liée à la table stagiaire
Le plus serait d'afficher ce champ stage auquel est rattachée la saisie que
l'on veut effectuer...n

Merci d'avance
Sylvere

10 réponses

1 2
Avatar
Fabien
Bonjour,
Dans un sous formulaire de saisie, en fin de saisie d'un champ texte
"stagiaire", je souhaite verifier dans la table de destination si cette
saisie existe déjà et envoyer un message de confirmation/abandon, pour
maitriser si on veut un doublon...

Ce sous formulaire est lié à un formulaire qui contient un champ "stage" de
la table convention liée à la table stagiaire
Le plus serait d'afficher ce champ stage auquel est rattachée la saisie que
l'on veut effectuer...n

Merci d'avance
Sylvere


Re,

dans l'événement after_update de ton champ tu fais
If dcount ("*","latable","lecritere")>0 then Msgbox "Il y est !!!" else
Msgbox "Il y est pas !!!"
@+

Avatar
sylvere
Merci Fabien, mais avec ce code il me dit "il y est" quelle que soit la
saisie..
Je me suis mal expliqué :
ex :si j'ai déjà un client qui s'appelle 'dupont' dans ce champ dans ma
table, au moment ou je finis la saisie, si je saisis un autre "dupont' je
voudrais qu'il me dise "il y est" sinon qu'il m'autorise à la saisie...
Merci d'avance

"Fabien" a écrit dans le message de news:
47b58dfc$0$891$
Bonjour,
Dans un sous formulaire de saisie, en fin de saisie d'un champ texte
"stagiaire", je souhaite verifier dans la table de destination si cette
saisie existe déjà et envoyer un message de confirmation/abandon, pour
maitriser si on veut un doublon...

Ce sous formulaire est lié à un formulaire qui contient un champ "stage"
de


la table convention liée à la table stagiaire
Le plus serait d'afficher ce champ stage auquel est rattachée la saisie
que


l'on veut effectuer...n

Merci d'avance
Sylvere


Re,

dans l'événement after_update de ton champ tu fais
If dcount ("*","latable","lecritere")>0 then Msgbox "Il y est !!!" else
Msgbox "Il y est pas !!!"
@+



Avatar
Fabien
Merci Fabien, mais avec ce code il me dit "il y est" quelle que soit la
saisie..
Je me suis mal expliqué :
ex :si j'ai déjà un client qui s'appelle 'dupont' dans ce champ dans ma
table, au moment ou je finis la saisie, si je saisis un autre "dupont' je
voudrais qu'il me dise "il y est" sinon qu'il m'autorise à la saisie...
Merci d'avance

"Fabien" a écrit dans le message de news:
47b58dfc$0$891$
Bonjour,
Dans un sous formulaire de saisie, en fin de saisie d'un champ texte
"stagiaire", je souhaite verifier dans la table de destination si cette
saisie existe déjà et envoyer un message de confirmation/abandon, pour
maitriser si on veut un doublon...

Ce sous formulaire est lié à un formulaire qui contient un champ "stage"
de


la table convention liée à la table stagiaire
Le plus serait d'afficher ce champ stage auquel est rattachée la saisie
que


l'on veut effectuer...n

Merci d'avance
Sylvere


Re,

dans l'événement after_update de ton champ tu fais
If dcount ("*","latable","lecritere")>0 then Msgbox "Il y est !!!" else
Msgbox "Il y est pas !!!"
@+



Tu as mis quoi a la place de "lecritere" dans If dcount

("*","latable","lecritere") ?



Avatar
sylvere
j'ai mis :
f DCount("*", "stagiaire", "nom_stagiaire") > 0 Then MsgBox "Il y est !!!"
Else
MsgBox "Il y est pas !!!"
stagiaire =table
nom_stagiaire =champ
End Sub

"Fabien" a écrit dans le message de news:
47b5b0d9$0$875$
Merci Fabien, mais avec ce code il me dit "il y est" quelle que soit la
saisie..
Je me suis mal expliqué :
ex :si j'ai déjà un client qui s'appelle 'dupont' dans ce champ dans ma
table, au moment ou je finis la saisie, si je saisis un autre "dupont'
je


voudrais qu'il me dise "il y est" sinon qu'il m'autorise à la saisie...
Merci d'avance

"Fabien" a écrit dans le message de news:
47b58dfc$0$891$
Bonjour,
Dans un sous formulaire de saisie, en fin de saisie d'un champ texte
"stagiaire", je souhaite verifier dans la table de destination si
cette




saisie existe déjà et envoyer un message de confirmation/abandon, pour
maitriser si on veut un doublon...

Ce sous formulaire est lié à un formulaire qui contient un champ
"stage"




de
la table convention liée à la table stagiaire
Le plus serait d'afficher ce champ stage auquel est rattachée la
saisie




que
l'on veut effectuer...n

Merci d'avance
Sylvere


Re,

dans l'événement after_update de ton champ tu fais
If dcount ("*","latable","lecritere")>0 then Msgbox "Il y est !!!" else
Msgbox "Il y est pas !!!"
@+



Tu as mis quoi a la place de "lecritere" dans If dcount

("*","latable","lecritere") ?





Avatar
Fabien
Merci Fabien, mais avec ce code il me dit "il y est" quelle que soit la
saisie..
Je me suis mal expliqué :
ex :si j'ai déjà un client qui s'appelle 'dupont' dans ce champ dans ma
table, au moment ou je finis la saisie, si je saisis un autre "dupont' je
voudrais qu'il me dise "il y est" sinon qu'il m'autorise à la saisie...
Merci d'avance

"Fabien" a écrit dans le message de news:
47b58dfc$0$891$
Bonjour,
Dans un sous formulaire de saisie, en fin de saisie d'un champ texte
"stagiaire", je souhaite verifier dans la table de destination si cette
saisie existe déjà et envoyer un message de confirmation/abandon, pour
maitriser si on veut un doublon...

Ce sous formulaire est lié à un formulaire qui contient un champ
"stage"
de


la table convention liée à la table stagiaire
Le plus serait d'afficher ce champ stage auquel est rattachée la saisie
que


l'on veut effectuer...n

Merci d'avance
Sylvere


Re,

dans l'événement after_update de ton champ tu fais
If dcount ("*","latable","lecritere")>0 then Msgbox "Il y est !!!" else
Msgbox "Il y est pas !!!"
@+



Tu as mis quoi a la place de "lecritere" dans If dcount

("*","latable","lecritere") ?
Sur ma base de test un champ code

Private Sub code_AfterUpdate()
If DCount("*", "Table1", "[Code]='" & Me.code & "'") > 1 Then
If MsgBox("Il y est on abandonne ?", vbYesNo) = vbYes Then
Me.Undo
End If
End If
End Sub




Avatar
Fabien
j'ai mis :
f DCount("*", "stagiaire", "nom_stagiaire") > 0 Then MsgBox "Il y est !!!"
Essaye avec DCount("*", "stagiaire", "[nom_stagiaire]= '" & me.champ &

"'")>1
Else
MsgBox "Il y est pas !!!"
stagiaire =table
nom_stagiaire =champ
End Sub

"Fabien" a écrit dans le message de news:
47b5b0d9$0$875$
Merci Fabien, mais avec ce code il me dit "il y est" quelle que soit la
saisie..
Je me suis mal expliqué :
ex :si j'ai déjà un client qui s'appelle 'dupont' dans ce champ dans ma
table, au moment ou je finis la saisie, si je saisis un autre "dupont'
je


voudrais qu'il me dise "il y est" sinon qu'il m'autorise à la saisie...
Merci d'avance

"Fabien" a écrit dans le message de news:
47b58dfc$0$891$
Bonjour,
Dans un sous formulaire de saisie, en fin de saisie d'un champ texte
"stagiaire", je souhaite verifier dans la table de destination si
cette




saisie existe déjà et envoyer un message de confirmation/abandon, pour
maitriser si on veut un doublon...

Ce sous formulaire est lié à un formulaire qui contient un champ
"stage"




de
la table convention liée à la table stagiaire
Le plus serait d'afficher ce champ stage auquel est rattachée la
saisie




que
l'on veut effectuer...n

Merci d'avance
Sylvere


Re,

dans l'événement after_update de ton champ tu fais
If dcount ("*","latable","lecritere")>0 then Msgbox "Il y est !!!" else
Msgbox "Il y est pas !!!"
@+


Tu as mis quoi a la place de "lecritere" dans If dcount

("*","latable","lecritere") ?









Avatar
sylvere
Merci Fabien,
Ca fonctionne très bien.
Mais... un petit plus d'affichage, peut être si c'est possible...
Ce formulaire ou je place mon test, est un sous formulaire d'un formulaire
appelé convention.
(le sous formulaire est attaché à la table "stagiaire" , le formulaire à la
table "convention"
les deux tables sont en relation de un à plusieurs entre convention et
stagaire par un champ "no_stagiaire".
(une convention = plusieurs stagiaires.
Serait il possible en plus d'afficher "il y est on abandonne oui/non"
d'avoir "il est déja saisi pour l'intitulé... (ex :"traitement de texte") on
abandonne oui/non" , intitulé de stage de la table convention correspondant
au nom
la vérif de l'utilisation précédente de ce nom renvoyant le nom de
l'intitulé dans la table convention correspondant à ce nom
J'espère être clair??
Merci déjà à ce stade..


"Fabien" a écrit dans le message de news:
47b5b5b3$0$845$
Merci Fabien, mais avec ce code il me dit "il y est" quelle que soit la
saisie..
Je me suis mal expliqué :
ex :si j'ai déjà un client qui s'appelle 'dupont' dans ce champ dans ma
table, au moment ou je finis la saisie, si je saisis un autre "dupont'
je



voudrais qu'il me dise "il y est" sinon qu'il m'autorise à la saisie...
Merci d'avance

"Fabien" a écrit dans le message de news:
47b58dfc$0$891$
Bonjour,
Dans un sous formulaire de saisie, en fin de saisie d'un champ texte
"stagiaire", je souhaite verifier dans la table de destination si
cette





saisie existe déjà et envoyer un message de confirmation/abandon,
pour





maitriser si on veut un doublon...

Ce sous formulaire est lié à un formulaire qui contient un champ
"stage"
de


la table convention liée à la table stagiaire
Le plus serait d'afficher ce champ stage auquel est rattachée la
saisie





que
l'on veut effectuer...n

Merci d'avance
Sylvere


Re,

dans l'événement after_update de ton champ tu fais
If dcount ("*","latable","lecritere")>0 then Msgbox "Il y est !!!"
else




Msgbox "Il y est pas !!!"
@+



Tu as mis quoi a la place de "lecritere" dans If dcount

("*","latable","lecritere") ?
Sur ma base de test un champ code

Private Sub code_AfterUpdate()
If DCount("*", "Table1", "[Code]='" & Me.code & "'") > 1 Then
If MsgBox("Il y est on abandonne ?", vbYesNo) = vbYes Then
Me.Undo
End If
End If
End Sub






Avatar
Fabien
Merci Fabien,
Ca fonctionne très bien.
Mais... un petit plus d'affichage, peut être si c'est possible...
Ce formulaire ou je place mon test, est un sous formulaire d'un formulaire
appelé convention.
(le sous formulaire est attaché à la table "stagiaire" , le formulaire à la
table "convention"
les deux tables sont en relation de un à plusieurs entre convention et
stagaire par un champ "no_stagiaire".
(une convention = plusieurs stagiaires.
Serait il possible en plus d'afficher "il y est on abandonne oui/non"
d'avoir "il est déja saisi pour l'intitulé... (ex :"traitement de texte") on
abandonne oui/non" , intitulé de stage de la table convention correspondant
au nom
la vérif de l'utilisation précédente de ce nom renvoyant le nom de
l'intitulé dans la table convention correspondant à ce nom
J'espère être clair??
Merci déjà à ce stade..


"Fabien" a écrit dans le message de news:
47b5b5b3$0$845$
Merci Fabien, mais avec ce code il me dit "il y est" quelle que soit la
saisie..
Je me suis mal expliqué :
ex :si j'ai déjà un client qui s'appelle 'dupont' dans ce champ dans ma
table, au moment ou je finis la saisie, si je saisis un autre "dupont'
je



voudrais qu'il me dise "il y est" sinon qu'il m'autorise à la saisie...
Merci d'avance

"Fabien" a écrit dans le message de news:
47b58dfc$0$891$
Bonjour,
Dans un sous formulaire de saisie, en fin de saisie d'un champ texte
"stagiaire", je souhaite verifier dans la table de destination si
cette





saisie existe déjà et envoyer un message de confirmation/abandon,
pour





maitriser si on veut un doublon...

Ce sous formulaire est lié à un formulaire qui contient un champ
"stage"
de


la table convention liée à la table stagiaire
Le plus serait d'afficher ce champ stage auquel est rattachée la
saisie





que
l'on veut effectuer...n

Merci d'avance
Sylvere


Re,

dans l'événement after_update de ton champ tu fais
If dcount ("*","latable","lecritere")>0 then Msgbox "Il y est !!!"
else




Msgbox "Il y est pas !!!"
@+


Tu as mis quoi a la place de "lecritere" dans If dcount

("*","latable","lecritere") ?
Sur ma base de test un champ code

Private Sub code_AfterUpdate()
If DCount("*", "Table1", "[Code]='" & Me.code & "'") > 1 Then
If MsgBox("Il y est on abandonne ?", vbYesNo) = vbYes Then
Me.Undo
End If
End If
End Sub



Salut,

Lundi matin et les yeux pas en face des trous ;-)
Suis pas sûr d'avoir tous pigé.
Avec un dlookup("[Libelle Stage]","Table1","[Code]='" & me.Code & "'")
tu peux reccuperer ton intitulé de stage ou du moins l'un des intitulé.
S'il y en a plusieurs faut faire autrement.
If DCount("*", "Table1", "[Code]='" & Me.code & "'") > 1 Then
If MsgBox("Il y est on abandonne ?", vbYesNo) = vbYes Then
Me.Undo
End If
End If
End Sub


Devient

If DCount("*", "Table1", "[Code]='" & Me.code & "'") > 1 Then
If MsgBox("Il y est Pour l'intitulé " & dlookup("[Libelle
Stage]","Table1","[Code]='" & me.Code & "'") & " On abandone ? " ,
vbYesNo) = vbYes Then
Me.Undo
End If
End If
End Sub






Avatar
sylvere
Bonjour fabien,

Merci pour l'assistance..
J'ai repris ton code, mais ça m'indiquait invariablement le premier intitulé
de mon catalogue.
Alors j'ai bricolé la syntaxe et ça coince :
Je lui dis en gaulois :
si tu trouves [nom_stagiaire] dans la table "stagiaire" = à
me.nom_stagiaire de mon sous formulaire
ET que tu trouves [no_stage] dans la table "catalogue = à me.no_convention
de mon formulaire principal, àlors renvoie l'intitulé du catalogue
correspondant.
(formulaire principal se référe à une table "convention" qui est en relation
avec la table "catalogue, par le champ no_convention et le champ no_stage de
la table catalogue
Je te joins ci dessous mon essai. Je conçois que ça devient bien compliqué à
ce stade., et peut être difficile à comprendre à distance..
Dans tous les cas, merci pour l'accompagnement


'If DCount("*", "stagiaire", "[nom_stagiaire]='" & Me.nom_stagiaire & "'") >
1
'And DCount("*", "catalogue", "[no_stage] = '" & Me.no_convention & "'")
Then
'If MsgBox("Il y est Pour l'intitulé " & DLookup("[intitule]", "catalogue",
'"[nom_stagiaire]='" & Me.nom_stagiaire & "'") & " On abandone ? ", vbYesNo)
= vbYes Then
Me.Undo
End If
End If

"Fabien" a écrit dans le message de news:
47b93ac8$0$858$
Merci Fabien,
Ca fonctionne très bien.
Mais... un petit plus d'affichage, peut être si c'est possible...
Ce formulaire ou je place mon test, est un sous formulaire d'un
formulaire


appelé convention.
(le sous formulaire est attaché à la table "stagiaire" , le formulaire
à la


table "convention"
les deux tables sont en relation de un à plusieurs entre convention et
stagaire par un champ "no_stagiaire".
(une convention = plusieurs stagiaires.
Serait il possible en plus d'afficher "il y est on abandonne oui/non"
d'avoir "il est déja saisi pour l'intitulé... (ex :"traitement de
texte") on


abandonne oui/non" , intitulé de stage de la table convention
correspondant


au nom
la vérif de l'utilisation précédente de ce nom renvoyant le nom de
l'intitulé dans la table convention correspondant à ce nom
J'espère être clair??
Merci déjà à ce stade..


"Fabien" a écrit dans le message de news:
47b5b5b3$0$845$
Merci Fabien, mais avec ce code il me dit "il y est" quelle que soit
la





saisie..
Je me suis mal expliqué :
ex :si j'ai déjà un client qui s'appelle 'dupont' dans ce champ dans
ma





table, au moment ou je finis la saisie, si je saisis un autre
"dupont'





je
voudrais qu'il me dise "il y est" sinon qu'il m'autorise à la
saisie...





Merci d'avance

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





47b58dfc$0$891$
Bonjour,
Dans un sous formulaire de saisie, en fin de saisie d'un champ
texte







"stagiaire", je souhaite verifier dans la table de destination si
cette





saisie existe déjà et envoyer un message de confirmation/abandon,
pour





maitriser si on veut un doublon...

Ce sous formulaire est lié à un formulaire qui contient un champ
"stage"
de


la table convention liée à la table stagiaire
Le plus serait d'afficher ce champ stage auquel est rattachée la
saisie





que
l'on veut effectuer...n

Merci d'avance
Sylvere


Re,

dans l'événement after_update de ton champ tu fais
If dcount ("*","latable","lecritere")>0 then Msgbox "Il y est !!!"
else




Msgbox "Il y est pas !!!"
@+


Tu as mis quoi a la place de "lecritere" dans If dcount

("*","latable","lecritere") ?
Sur ma base de test un champ code

Private Sub code_AfterUpdate()
If DCount("*", "Table1", "[Code]='" & Me.code & "'") > 1 Then
If MsgBox("Il y est on abandonne ?", vbYesNo) = vbYes Then
Me.Undo
End If
End If
End Sub



Salut,

Lundi matin et les yeux pas en face des trous ;-)
Suis pas sûr d'avoir tous pigé.
Avec un dlookup("[Libelle Stage]","Table1","[Code]='" & me.Code & "'")
tu peux reccuperer ton intitulé de stage ou du moins l'un des intitulé.
S'il y en a plusieurs faut faire autrement.
If DCount("*", "Table1", "[Code]='" & Me.code & "'") > 1 Then
If MsgBox("Il y est on abandonne ?", vbYesNo) = vbYes Then
Me.Undo
End If
End If
End Sub


Devient

If DCount("*", "Table1", "[Code]='" & Me.code & "'") > 1 Then
If MsgBox("Il y est Pour l'intitulé " & dlookup("[Libelle
Stage]","Table1","[Code]='" & me.Code & "'") & " On abandone ? " ,
vbYesNo) = vbYes Then
Me.Undo
End If
End If
End Sub








Avatar
Fabien
Bonjour fabien,

Merci pour l'assistance..
J'ai repris ton code, mais ça m'indiquait invariablement le premier intitulé
de mon catalogue.
Alors j'ai bricolé la syntaxe et ça coince :
Je lui dis en gaulois :
si tu trouves [nom_stagiaire] dans la table "stagiaire" = à
me.nom_stagiaire de mon sous formulaire
ET que tu trouves [no_stage] dans la table "catalogue = à me.no_convention
de mon formulaire principal, àlors renvoie l'intitulé du catalogue
correspondant.
(formulaire principal se référe à une table "convention" qui est en relation
avec la table "catalogue, par le champ no_convention et le champ no_stage de
la table catalogue
Je te joins ci dessous mon essai. Je conçois que ça devient bien compliqué à
ce stade., et peut être difficile à comprendre à distance..
Dans tous les cas, merci pour l'accompagnement





If DCount("*", "stagiaire", "[nom_stagiaire]='" & Me.nom_stagiaire & "'") >
1 And DCount("*", "catalogue", "[no_stage] = " & Me.no_convention )>=1 Then
If MsgBox("Il y est Pour l'intitulé " & DLookup("[intitule]", "catalogue",

'"[nom_stagiaire]='" & Me.nom_stagiaire & "'") & " On abandone ? ",
vbYesNo) = vbYes Then
Me.Undo
End If
End If


"Fabien" a écrit dans le message de news:
47b93ac8$0$858$
Merci Fabien,
Ca fonctionne très bien.
Mais... un petit plus d'affichage, peut être si c'est possible...
Ce formulaire ou je place mon test, est un sous formulaire d'un
formulaire


appelé convention.
(le sous formulaire est attaché à la table "stagiaire" , le formulaire
à la


table "convention"
les deux tables sont en relation de un à plusieurs entre convention et
stagaire par un champ "no_stagiaire".
(une convention = plusieurs stagiaires.
Serait il possible en plus d'afficher "il y est on abandonne oui/non"
d'avoir "il est déja saisi pour l'intitulé... (ex :"traitement de
texte") on


abandonne oui/non" , intitulé de stage de la table convention
correspondant


au nom
la vérif de l'utilisation précédente de ce nom renvoyant le nom de
l'intitulé dans la table convention correspondant à ce nom
J'espère être clair??
Merci déjà à ce stade..


"Fabien" a écrit dans le message de news:
47b5b5b3$0$845$
Merci Fabien, mais avec ce code il me dit "il y est" quelle que soit
la





saisie..
Je me suis mal expliqué :
ex :si j'ai déjà un client qui s'appelle 'dupont' dans ce champ dans
ma





table, au moment ou je finis la saisie, si je saisis un autre
"dupont'





je
voudrais qu'il me dise "il y est" sinon qu'il m'autorise à la
saisie...





Merci d'avance

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





47b58dfc$0$891$
Bonjour,
Dans un sous formulaire de saisie, en fin de saisie d'un champ
texte







"stagiaire", je souhaite verifier dans la table de destination si
cette





saisie existe déjà et envoyer un message de confirmation/abandon,
pour





maitriser si on veut un doublon...

Ce sous formulaire est lié à un formulaire qui contient un champ
"stage"
de


la table convention liée à la table stagiaire
Le plus serait d'afficher ce champ stage auquel est rattachée la
saisie





que
l'on veut effectuer...n

Merci d'avance
Sylvere


Re,

dans l'événement after_update de ton champ tu fais
If dcount ("*","latable","lecritere")>0 then Msgbox "Il y est !!!"
else




Msgbox "Il y est pas !!!"
@+
Tu as mis quoi a la place de "lecritere" dans If dcount


("*","latable","lecritere") ?
Sur ma base de test un champ code

Private Sub code_AfterUpdate()
If DCount("*", "Table1", "[Code]='" & Me.code & "'") > 1 Then
If MsgBox("Il y est on abandonne ?", vbYesNo) = vbYes Then
Me.Undo
End If
End If
End Sub


Salut,

Lundi matin et les yeux pas en face des trous ;-)
Suis pas sûr d'avoir tous pigé.
Avec un dlookup("[Libelle Stage]","Table1","[Code]='" & me.Code & "'")
tu peux reccuperer ton intitulé de stage ou du moins l'un des intitulé.
S'il y en a plusieurs faut faire autrement.
If DCount("*", "Table1", "[Code]='" & Me.code & "'") > 1 Then
If MsgBox("Il y est on abandonne ?", vbYesNo) = vbYes Then
Me.Undo
End If
End If
End Sub


Devient

If DCount("*", "Table1", "[Code]='" & Me.code & "'") > 1 Then
If MsgBox("Il y est Pour l'intitulé " & dlookup("[Libelle
Stage]","Table1","[Code]='" & me.Code & "'") & " On abandone ? " ,
vbYesNo) = vbYes Then
Me.Undo
End If
End If
End Sub





Bonjour
Ne m'ayant pas indiqué le message d'erreur, je suppose que c'est sur le
dcount("*","catalogue","[No_Stage]=" & me.no_convention)>=1 parce que si
No_Stage est numérique il ne faut pas de ' pour encadrer me.No_convention
Courage on va y arriver ;-)
@+








1 2