Bonjour j'ai une table qui se nome produit. J'ai un champ=20
clef primaire qui s'appel nopro dans lequel j'inscris le=20
num=E9ro des produits.
J'ai un formulaire qui sert =E0 cr=E9er des nouveaux=20
produits. Dans ce formulaire lorsque j'inscris un nouveau=20
num=E9ro de produit dans le champ nopro, j'aimerais qu'=E0=20
l'=E9v=E9nement lostfocus que le syst=E8me v=E9rifie dans ma=20
table produit si ce num=E9ro existe d=E9j=E0 et qu'il me dise =AB=20
num=E9ro existant =BB si le num=E9ro existe d=E9j=E0 et qu'il=20
retourne sur le m=EAme champ pour inscrire un num=E9ro=20
diff=E9rent.
Je ne veux pas attendre d'avoir compl=E9t=E9 tout=20
l'enregistrement avant de savoir que le num=E9ro inscrit=20
est un doublon.
Private Sub nopro _BeforeUpdate(Cancel As Integer) If Not IsNull(DLookup("nopro", "produit", "[nopro] = '" & Me.nopro & "'")) Then MsgBox "en double" Cancel = True End If End Sub si nopro est numérique, enlever les '
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"jacques" a écrit dans le message de news:19f2a01c41d5c$b998eba0$ Bonjour j'ai une table qui se nome produit. J'ai un champ clef primaire qui s'appel nopro dans lequel j'inscris le numéro des produits.
J'ai un formulaire qui sert à créer des nouveaux produits. Dans ce formulaire lorsque j'inscris un nouveau numéro de produit dans le champ nopro, j'aimerais qu'à l'événement lostfocus que le système vérifie dans ma table produit si ce numéro existe déjà et qu'il me dise « numéro existant » si le numéro existe déjà et qu'il retourne sur le même champ pour inscrire un numéro différent.
Je ne veux pas attendre d'avoir complété tout l'enregistrement avant de savoir que le numéro inscrit est un doublon.
Un grand merci pour votre aide.
Bonjour.
tu peux utiliser DLookUp ou DCount.
Private Sub nopro _BeforeUpdate(Cancel As Integer)
If Not IsNull(DLookup("nopro", "produit", "[nopro] = '" & Me.nopro &
"'")) Then
MsgBox "en double"
Cancel = True
End If
End Sub
si nopro est numérique, enlever les '
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"jacques" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:19f2a01c41d5c$b998eba0$a301280a@phx.gbl...
Bonjour j'ai une table qui se nome produit. J'ai un champ
clef primaire qui s'appel nopro dans lequel j'inscris le
numéro des produits.
J'ai un formulaire qui sert à créer des nouveaux
produits. Dans ce formulaire lorsque j'inscris un nouveau
numéro de produit dans le champ nopro, j'aimerais qu'à
l'événement lostfocus que le système vérifie dans ma
table produit si ce numéro existe déjà et qu'il me dise «
numéro existant » si le numéro existe déjà et qu'il
retourne sur le même champ pour inscrire un numéro
différent.
Je ne veux pas attendre d'avoir complété tout
l'enregistrement avant de savoir que le numéro inscrit
est un doublon.
Private Sub nopro _BeforeUpdate(Cancel As Integer) If Not IsNull(DLookup("nopro", "produit", "[nopro] = '" & Me.nopro & "'")) Then MsgBox "en double" Cancel = True End If End Sub si nopro est numérique, enlever les '
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"jacques" a écrit dans le message de news:19f2a01c41d5c$b998eba0$ Bonjour j'ai une table qui se nome produit. J'ai un champ clef primaire qui s'appel nopro dans lequel j'inscris le numéro des produits.
J'ai un formulaire qui sert à créer des nouveaux produits. Dans ce formulaire lorsque j'inscris un nouveau numéro de produit dans le champ nopro, j'aimerais qu'à l'événement lostfocus que le système vérifie dans ma table produit si ce numéro existe déjà et qu'il me dise « numéro existant » si le numéro existe déjà et qu'il retourne sur le même champ pour inscrire un numéro différent.
Je ne veux pas attendre d'avoir complété tout l'enregistrement avant de savoir que le numéro inscrit est un doublon.
Un grand merci pour votre aide.
elle me renvoi le message l'objet ou la classe ne gère pas le jeu d'évenement.
-----Message d'origine----- Bonjour.
tu peux utiliser DLookUp ou DCount.
Private Sub nopro _BeforeUpdate(Cancel As Integer) If Not IsNull(DLookup("nopro", "produit", "[nopro] = '" & Me.nopro &
"'")) Then MsgBox "en double" Cancel = True End If End Sub si nopro est numérique, enlever les '
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"jacques" a écrit dans le message de
news:19f2a01c41d5c$b998eba0$ Bonjour j'ai une table qui se nome produit. J'ai un champ clef primaire qui s'appel nopro dans lequel j'inscris le numéro des produits.
J'ai un formulaire qui sert à créer des nouveaux produits. Dans ce formulaire lorsque j'inscris un nouveau numéro de produit dans le champ nopro, j'aimerais qu'à l'événement lostfocus que le système vérifie dans ma table produit si ce numéro existe déjà et qu'il me dise « numéro existant » si le numéro existe déjà et qu'il retourne sur le même champ pour inscrire un numéro différent.
Je ne veux pas attendre d'avoir complété tout l'enregistrement avant de savoir que le numéro inscrit est un doublon.
Un grand merci pour votre aide.
.
elle me renvoi le message l'objet ou la classe ne gère
pas le jeu d'évenement.
-----Message d'origine-----
Bonjour.
tu peux utiliser DLookUp ou DCount.
Private Sub nopro _BeforeUpdate(Cancel As Integer)
If Not IsNull(DLookup("nopro", "produit", "[nopro]
= '" & Me.nopro &
"'")) Then
MsgBox "en double"
Cancel = True
End If
End Sub
si nopro est numérique, enlever les '
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
"jacques" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news:19f2a01c41d5c$b998eba0$a301280a@phx.gbl...
Bonjour j'ai une table qui se nome produit. J'ai un champ
clef primaire qui s'appel nopro dans lequel j'inscris le
numéro des produits.
J'ai un formulaire qui sert à créer des nouveaux
produits. Dans ce formulaire lorsque j'inscris un nouveau
numéro de produit dans le champ nopro, j'aimerais qu'à
l'événement lostfocus que le système vérifie dans ma
table produit si ce numéro existe déjà et qu'il me dise «
numéro existant » si le numéro existe déjà et qu'il
retourne sur le même champ pour inscrire un numéro
différent.
Je ne veux pas attendre d'avoir complété tout
l'enregistrement avant de savoir que le numéro inscrit
est un doublon.
elle me renvoi le message l'objet ou la classe ne gère pas le jeu d'évenement.
-----Message d'origine----- Bonjour.
tu peux utiliser DLookUp ou DCount.
Private Sub nopro _BeforeUpdate(Cancel As Integer) If Not IsNull(DLookup("nopro", "produit", "[nopro] = '" & Me.nopro &
"'")) Then MsgBox "en double" Cancel = True End If End Sub si nopro est numérique, enlever les '
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
"jacques" a écrit dans le message de
news:19f2a01c41d5c$b998eba0$ Bonjour j'ai une table qui se nome produit. J'ai un champ clef primaire qui s'appel nopro dans lequel j'inscris le numéro des produits.
J'ai un formulaire qui sert à créer des nouveaux produits. Dans ce formulaire lorsque j'inscris un nouveau numéro de produit dans le champ nopro, j'aimerais qu'à l'événement lostfocus que le système vérifie dans ma table produit si ce numéro existe déjà et qu'il me dise « numéro existant » si le numéro existe déjà et qu'il retourne sur le même champ pour inscrire un numéro différent.
Je ne veux pas attendre d'avoir complété tout l'enregistrement avant de savoir que le numéro inscrit est un doublon.
Un grand merci pour votre aide.
.
Raymond [mvp]
access ne gère pas beforeUpdate ?
as-tu ajuster avec tes vrais noms de champ ou table ?
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
a écrit dans le message de news:1a47901c41d7c$a5b37bd0$ elle me renvoi le message l'objet ou la classe ne gère pas le jeu d'évenement.
access ne gère pas beforeUpdate ?
as-tu ajuster avec tes vrais noms de champ ou table ?
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
<anonymous@discussions.microsoft.com> a écrit dans le message de
news:1a47901c41d7c$a5b37bd0$a101280a@phx.gbl...
elle me renvoi le message l'objet ou la classe ne gère
pas le jeu d'évenement.
Psq je ne veux pas attendre à la fin de l'enregistrement. je veux le savoir juste après avoir inscrit le numéro du produit.
j'ai le même message d'erreur pour BeforeUpdate et LostFocus()
Ta raison n'en est pas une !
Le beforeupdate EST avant la fin !!!
-- A+ Pierre (3stone) Access MVP ----------------------------- http://users.skynet.be/mpfa -----------------------------
Raymond [mvp]
il me semble que ta clause where ne correspond pas: If Not IsNull(DLookup("za", "produit", "[nopro] = " & Me.za & "")) Then
Si tu indiques que [nopro] doit être égal à ME.za , à mon avis ce n'est pas [nopro] qu'il faut tester. les 3 données représentent la même chose, le numéro de produit. le premier "ZA" n'a aucune importante dans le test. c'est seulement "[nopro] = " & Me.za qui est important. d'autre part il ne faut pas mettre & "" qui ne peut qu'engendrer une erreur. par ailleurs, il faut bien le mettre en beforeupdate sinon en cas de doublon access agira avant toi.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
a écrit dans le message de news:1743001c41d89$2a104190$ Psq je ne veux pas attendre à la fin de l'enregistrement. je veux le savoir juste après avoir inscrit le numéro du produit.
j'ai le même message d'erreur pour BeforeUpdate et LostFocus()
meric de votre aide
il me semble que ta clause where ne correspond pas:
If Not IsNull(DLookup("za", "produit", "[nopro] = " &
Me.za & "")) Then
Si tu indiques que [nopro] doit être égal à ME.za , à mon avis ce n'est pas
[nopro] qu'il faut tester. les 3 données représentent la même chose, le
numéro de produit. le premier "ZA" n'a aucune importante dans le test. c'est
seulement "[nopro] = " & Me.za qui est important.
d'autre part il ne faut pas mettre & "" qui ne peut qu'engendrer une erreur.
par ailleurs, il faut bien le mettre en beforeupdate sinon en cas de doublon
access agira avant toi.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
<anonymous@discussions.microsoft.com> a écrit dans le message de
news:1743001c41d89$2a104190$a601280a@phx.gbl...
Psq je ne veux pas attendre à la fin de l'enregistrement.
je veux le savoir juste après avoir inscrit le numéro du
produit.
j'ai le même message d'erreur pour BeforeUpdate et
LostFocus()
il me semble que ta clause where ne correspond pas: If Not IsNull(DLookup("za", "produit", "[nopro] = " & Me.za & "")) Then
Si tu indiques que [nopro] doit être égal à ME.za , à mon avis ce n'est pas [nopro] qu'il faut tester. les 3 données représentent la même chose, le numéro de produit. le premier "ZA" n'a aucune importante dans le test. c'est seulement "[nopro] = " & Me.za qui est important. d'autre part il ne faut pas mettre & "" qui ne peut qu'engendrer une erreur. par ailleurs, il faut bien le mettre en beforeupdate sinon en cas de doublon access agira avant toi.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
a écrit dans le message de news:1743001c41d89$2a104190$ Psq je ne veux pas attendre à la fin de l'enregistrement. je veux le savoir juste après avoir inscrit le numéro du produit.
j'ai le même message d'erreur pour BeforeUpdate et LostFocus()
meric de votre aide
J'ai apporter les ajustements suivant:
Private Sub nopro_BeforeUpdate(Cancel As Integer) If Not IsNull(DLookup("nopro", "produit", "[nopro] = '" & Me.nopro & "'")) Then MsgBox "en double" Cancel = True End If End Sub
Mais j'ai toujours le même message. soit L'expression avant mise à jour entrée comme paramètre de la propriéte type d'événememt est à l'origine d'une erreur. L'objet ou la classe ne gère pas l'évenement.
-----Message d'origine----- il me semble que ta clause where ne correspond pas: If Not IsNull(DLookup("za", "produit", "[nopro] = " & Me.za & "")) Then
Si tu indiques que [nopro] doit être égal à ME.za , à mon avis ce n'est pas
[nopro] qu'il faut tester. les 3 données représentent la même chose, le
numéro de produit. le premier "ZA" n'a aucune importante dans le test. c'est
seulement "[nopro] = " & Me.za qui est important. d'autre part il ne faut pas mettre & "" qui ne peut qu'engendrer une erreur.
par ailleurs, il faut bien le mettre en beforeupdate sinon en cas de doublon
access agira avant toi.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
a écrit dans le message de
news:1743001c41d89$2a104190$ Psq je ne veux pas attendre à la fin de l'enregistrement. je veux le savoir juste après avoir inscrit le numéro du produit.
j'ai le même message d'erreur pour BeforeUpdate et LostFocus()
meric de votre aide
.
J'ai apporter les ajustements suivant:
Private Sub nopro_BeforeUpdate(Cancel As Integer)
If Not IsNull(DLookup("nopro", "produit", "[nopro] = '" &
Me.nopro & "'")) Then
MsgBox "en double"
Cancel = True
End If
End Sub
Mais j'ai toujours le même message. soit L'expression
avant mise à jour entrée comme paramètre de la propriéte
type d'événememt est à l'origine d'une erreur. L'objet ou
la classe ne gère pas l'évenement.
-----Message d'origine-----
il me semble que ta clause where ne correspond pas:
If Not IsNull(DLookup("za", "produit", "[nopro] = " &
Me.za & "")) Then
Si tu indiques que [nopro] doit être égal à ME.za , à
mon avis ce n'est pas
[nopro] qu'il faut tester. les 3 données représentent la
même chose, le
numéro de produit. le premier "ZA" n'a aucune importante
dans le test. c'est
seulement "[nopro] = " & Me.za qui est important.
d'autre part il ne faut pas mettre & "" qui ne peut
qu'engendrer une erreur.
par ailleurs, il faut bien le mettre en beforeupdate
sinon en cas de doublon
access agira avant toi.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum
<anonymous@discussions.microsoft.com> a écrit dans le
message de
news:1743001c41d89$2a104190$a601280a@phx.gbl...
Psq je ne veux pas attendre à la fin de l'enregistrement.
je veux le savoir juste après avoir inscrit le numéro du
produit.
j'ai le même message d'erreur pour BeforeUpdate et
LostFocus()
Private Sub nopro_BeforeUpdate(Cancel As Integer) If Not IsNull(DLookup("nopro", "produit", "[nopro] = '" & Me.nopro & "'")) Then MsgBox "en double" Cancel = True End If End Sub
Mais j'ai toujours le même message. soit L'expression avant mise à jour entrée comme paramètre de la propriéte type d'événememt est à l'origine d'une erreur. L'objet ou la classe ne gère pas l'évenement.
-----Message d'origine----- il me semble que ta clause where ne correspond pas: If Not IsNull(DLookup("za", "produit", "[nopro] = " & Me.za & "")) Then
Si tu indiques que [nopro] doit être égal à ME.za , à mon avis ce n'est pas
[nopro] qu'il faut tester. les 3 données représentent la même chose, le
numéro de produit. le premier "ZA" n'a aucune importante dans le test. c'est
seulement "[nopro] = " & Me.za qui est important. d'autre part il ne faut pas mettre & "" qui ne peut qu'engendrer une erreur.
par ailleurs, il faut bien le mettre en beforeupdate sinon en cas de doublon
access agira avant toi.
-- @+ Raymond Access MVP http://access.seneque.free.fr/ http://access2003.free.fr/ http://users.skynet.be/mpfa/ pour débuter sur le forum
a écrit dans le message de
news:1743001c41d89$2a104190$ Psq je ne veux pas attendre à la fin de l'enregistrement. je veux le savoir juste après avoir inscrit le numéro du produit.
j'ai le même message d'erreur pour BeforeUpdate et LostFocus()
meric de votre aide
.
Anor
Bonjour tu peux peut-être essayer :
if dcount("*","produit","[nopro = '" & me.nopro & "'")) > 0 then
ps : le champ nopro de la table produits est bien un champ texte, n'est ce pas ? le controle du formulaire comporte le même nom que le champ source, n'est-ce pas ?
-- à+ Arnaud -------------------------------------------------- Conseils d'utilisation : http://users.skynet.be/mpfa/ Access Memorandum : http://memoaccess.free.fr /Réponses souhaitées sur ce forum, merci/ --------------------------------------------------
wrote: | J'ai apporter les ajustements suivant: | | Private Sub nopro_BeforeUpdate(Cancel As Integer) | If Not IsNull(DLookup("nopro", "produit", "[nopro] = '" & | Me.nopro & "'")) Then | MsgBox "en double" | Cancel = True | End If | End Sub |
Bonjour
tu peux peut-être essayer :
if dcount("*","produit","[nopro = '" & me.nopro & "'")) > 0 then
ps : le champ nopro de la table produits est bien un champ texte, n'est ce pas ?
le controle du formulaire comporte le même nom que le champ source, n'est-ce pas ?
--
à+
Arnaud
--------------------------------------------------
Conseils d'utilisation : http://users.skynet.be/mpfa/
Access Memorandum : http://memoaccess.free.fr
/Réponses souhaitées sur ce forum, merci/
--------------------------------------------------
anonymous@discussions.microsoft.com wrote:
| J'ai apporter les ajustements suivant:
|
| Private Sub nopro_BeforeUpdate(Cancel As Integer)
| If Not IsNull(DLookup("nopro", "produit", "[nopro] = '" &
| Me.nopro & "'")) Then
| MsgBox "en double"
| Cancel = True
| End If
| End Sub
|
if dcount("*","produit","[nopro = '" & me.nopro & "'")) > 0 then
ps : le champ nopro de la table produits est bien un champ texte, n'est ce pas ? le controle du formulaire comporte le même nom que le champ source, n'est-ce pas ?
-- à+ Arnaud -------------------------------------------------- Conseils d'utilisation : http://users.skynet.be/mpfa/ Access Memorandum : http://memoaccess.free.fr /Réponses souhaitées sur ce forum, merci/ --------------------------------------------------
wrote: | J'ai apporter les ajustements suivant: | | Private Sub nopro_BeforeUpdate(Cancel As Integer) | If Not IsNull(DLookup("nopro", "produit", "[nopro] = '" & | Me.nopro & "'")) Then | MsgBox "en double" | Cancel = True | End If | End Sub |