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

problème filtre après saisie dans formulaire

7 réponses
Avatar
alain.corai
Bonsoir,

Dans un formulaire sur un contôle indépendant, après
lecture du code barre j'utilise cette procédure :

private sub SearchCodeBarre_AfterUpdate()

Me.Filter = "StrCodeBarre = '" & SearchCodeBarre & "'"
Me.FilterOn = True
Me.RetourCerfa = True
Me.SearchCodeBarre = ""

Me.Filter = ""
Me.FilterOn = False
Me.SearchCodeBarre = ""
Docmd.Gotoontrol "SearchCodeBarre"

End Sub

Quelqu'un peut-il m'expliquer pourquoi quand la procédure
ne trouve pas le filtre, elle ajoute un enregitrement dans
le formulaire avec la valeur oui au champ RetourCerfa ?

Y a t'il un moyende résoudre ce problème ?
Filtré uniquement si valeur trouver
si non arrêté la procédure avec
Msgbox "Enregistrement non trouvé, code barre à saisir manuelle, vbinformation,"
Docmd.GotoControl "SearchCodeBarre"

Merci pour votre aide

Cordialement,

ALAIN

7 réponses

Avatar
Raymond [mvp]
Bonjour.

A quoi servent tes deux filtres qui se suivent dans une même procédure ?
lorsque le filtre ne trouve aucun enregistrement, access se positionne sur
un nouvel enregistrement vu qu'il n'y a que ça. si tu ne veux pas, il faut
mettre non dans la propriété ajout autorisé. si tu mets cette propriété à
non , tu ne pourra pas faire un gotocontrol et tu risques même de planter
ton formulaire qui se bloquera dans savoir ce qu'il a à faire.
Le champ RetourCerfa est chargé à oui car c'est toi qui le charge dans ta
procédure.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


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

Bonsoir,

Dans un formulaire sur un contôle indépendant, après
lecture du code barre j'utilise cette procédure :

private sub SearchCodeBarre_AfterUpdate()

Me.Filter = "StrCodeBarre = '" & SearchCodeBarre & "'"
Me.FilterOn = True
Me.RetourCerfa = True
Me.SearchCodeBarre = ""

Me.Filter = ""
Me.FilterOn = False
Me.SearchCodeBarre = ""
Docmd.Gotoontrol "SearchCodeBarre"

End Sub

Quelqu'un peut-il m'expliquer pourquoi quand la procédure
ne trouve pas le filtre, elle ajoute un enregitrement dans
le formulaire avec la valeur oui au champ RetourCerfa ?

Y a t'il un moyende résoudre ce problème ?
Filtré uniquement si valeur trouver
si non arrêté la procédure avec
Msgbox "Enregistrement non trouvé, code barre à saisir manuelle,
vbinformation,"
Docmd.GotoControl "SearchCodeBarre"

Merci pour votre aide

Cordialement,

ALAIN


Avatar
alain.corai
"Raymond [mvp]" wrote in message news:...
Bonjour.

A quoi servent tes deux filtres qui se suivent dans une même procédure ?
lorsque le filtre ne trouve aucun enregistrement, access se positionne sur
un nouvel enregistrement vu qu'il n'y a que ça. si tu ne veux pas, il faut
mettre non dans la propriété ajout autorisé. si tu mets cette propriété à
non , tu ne pourra pas faire un gotocontrol et tu risques même de planter
ton formulaire qui se bloquera dans savoir ce qu'il a à faire.
Le champ RetourCerfa est chargé à oui car c'est toi qui le charge dans ta
procédure.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


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

Bonsoir,

Dans un formulaire sur un contôle indépendant, après
lecture du code barre j'utilise cette procédure :

private sub SearchCodeBarre_AfterUpdate()

Me.Filter = "StrCodeBarre = '" & SearchCodeBarre & "'"
Me.FilterOn = True
Me.RetourCerfa = True
Me.SearchCodeBarre = ""

Me.Filter = ""
Me.FilterOn = False
Me.SearchCodeBarre = ""
Docmd.Gotoontrol "SearchCodeBarre"

End Sub

Quelqu'un peut-il m'expliquer pourquoi quand la procédure
ne trouve pas le filtre, elle ajoute un enregitrement dans
le formulaire avec la valeur oui au champ RetourCerfa ?

Y a t'il un moyende résoudre ce problème ?
Filtré uniquement si valeur trouver
si non arrêté la procédure avec
Msgbox "Enregistrement non trouvé, code barre à saisir manuelle,
vbinformation,"
Docmd.GotoControl "SearchCodeBarre"

Merci pour votre aide

Cordialement,

ALAIN



bonjour Raymond,

Si j'ai bien compris, il suffit de mettre le filtre sur vrai,
c'est à dire si il trouve le code barre il filtre :

private sub SearchCodeBarre_AfterUpdate()

Me.Filter = "StrCodeBarre = '" & SearchCodeBarre & "'"
Me.FilterOn = True
Me.RetourCerfa = True

End Sub

Mais comment Mettre un message s'il ne trouve pas et retour à
Docmd.Gotoontrol "SearchCodeBarre"
et bien sur sans mettre Me.RetourCerfa = True ?

En résumé il trouve Le code barre il affiche l'enregistrement avec
Me.RetourCerfa = true.

Il ne trouve pas message enregistrement non trouvé

A te lire Merci

Cordialement,

ALAIN


Avatar
Raymond [mvp]
tu testes le nombre d'enregistrement (Me.RecordsetClone.RecordCount) avec un
If.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


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

"Raymond [mvp]" wrote in message
news:...
Bonjour.

A quoi servent tes deux filtres qui se suivent dans une même procédure ?
lorsque le filtre ne trouve aucun enregistrement, access se positionne
sur
un nouvel enregistrement vu qu'il n'y a que ça. si tu ne veux pas, il
faut
mettre non dans la propriété ajout autorisé. si tu mets cette propriété à
non , tu ne pourra pas faire un gotocontrol et tu risques même de planter
ton formulaire qui se bloquera dans savoir ce qu'il a à faire.
Le champ RetourCerfa est chargé à oui car c'est toi qui le charge dans ta
procédure.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


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

Bonsoir,

Dans un formulaire sur un contôle indépendant, après
lecture du code barre j'utilise cette procédure :

private sub SearchCodeBarre_AfterUpdate()

Me.Filter = "StrCodeBarre = '" & SearchCodeBarre & "'"
Me.FilterOn = True
Me.RetourCerfa = True
Me.SearchCodeBarre = ""

Me.Filter = ""
Me.FilterOn = False
Me.SearchCodeBarre = ""
Docmd.Gotoontrol "SearchCodeBarre"

End Sub

Quelqu'un peut-il m'expliquer pourquoi quand la procédure
ne trouve pas le filtre, elle ajoute un enregitrement dans
le formulaire avec la valeur oui au champ RetourCerfa ?

Y a t'il un moyende résoudre ce problème ?
Filtré uniquement si valeur trouver
si non arrêté la procédure avec
Msgbox "Enregistrement non trouvé, code barre à saisir manuelle,
vbinformation,"
Docmd.GotoControl "SearchCodeBarre"

Merci pour votre aide

Cordialement,

ALAIN



bonjour Raymond,

Si j'ai bien compris, il suffit de mettre le filtre sur vrai,
c'est à dire si il trouve le code barre il filtre :

private sub SearchCodeBarre_AfterUpdate()

Me.Filter = "StrCodeBarre = '" & SearchCodeBarre & "'"
Me.FilterOn = True
Me.RetourCerfa = True

End Sub

Mais comment Mettre un message s'il ne trouve pas et retour à
Docmd.Gotoontrol "SearchCodeBarre"
et bien sur sans mettre Me.RetourCerfa = True ?

En résumé il trouve Le code barre il affiche l'enregistrement avec
Me.RetourCerfa = true.

Il ne trouve pas message enregistrement non trouvé

A te lire Merci

Cordialement,

ALAIN




Avatar
alain.corai
"Raymond [mvp]" wrote in message news:<#...
tu testes le nombre d'enregistrement (Me.RecordsetClone.RecordCount) avec un
If.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


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

"Raymond [mvp]" wrote in message
news:...
Bonjour.

A quoi servent tes deux filtres qui se suivent dans une même procédure ?
lorsque le filtre ne trouve aucun enregistrement, access se positionne
sur
un nouvel enregistrement vu qu'il n'y a que ça. si tu ne veux pas, il
faut
mettre non dans la propriété ajout autorisé. si tu mets cette propriété à
non , tu ne pourra pas faire un gotocontrol et tu risques même de planter
ton formulaire qui se bloquera dans savoir ce qu'il a à faire.
Le champ RetourCerfa est chargé à oui car c'est toi qui le charge dans ta
procédure.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


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

Bonsoir,

Dans un formulaire sur un contôle indépendant, après
lecture du code barre j'utilise cette procédure :

private sub SearchCodeBarre_AfterUpdate()

Me.Filter = "StrCodeBarre = '" & SearchCodeBarre & "'"
Me.FilterOn = True
Me.RetourCerfa = True
Me.SearchCodeBarre = ""

Me.Filter = ""
Me.FilterOn = False
Me.SearchCodeBarre = ""
Docmd.Gotoontrol "SearchCodeBarre"

End Sub

Quelqu'un peut-il m'expliquer pourquoi quand la procédure
ne trouve pas le filtre, elle ajoute un enregitrement dans
le formulaire avec la valeur oui au champ RetourCerfa ?

Y a t'il un moyende résoudre ce problème ?
Filtré uniquement si valeur trouver
si non arrêté la procédure avec
Msgbox "Enregistrement non trouvé, code barre à saisir manuelle,
vbinformation,"
Docmd.GotoControl "SearchCodeBarre"

Merci pour votre aide

Cordialement,

ALAIN



bonjour Raymond,

Si j'ai bien compris, il suffit de mettre le filtre sur vrai,
c'est à dire si il trouve le code barre il filtre :

private sub SearchCodeBarre_AfterUpdate()

Me.Filter = "StrCodeBarre = '" & SearchCodeBarre & "'"
Me.FilterOn = True
Me.RetourCerfa = True

End Sub

Mais comment Mettre un message s'il ne trouve pas et retour à
Docmd.Gotoontrol "SearchCodeBarre"
et bien sur sans mettre Me.RetourCerfa = True ?

En résumé il trouve Le code barre il affiche l'enregistrement avec
Me.RetourCerfa = true.

Il ne trouve pas message enregistrement non trouvé

A te lire Merci

Cordialement,

ALAIN



Raymond,

Du genre :

private sub SearchCodeBarre_AfterUpdate()

Me.Filter = "StrCodeBarre = '" & SearchCodeBarre & "'"
Me.FilterOn = True
Me.RetourCerfa = True

If Me.RecordsetClone.RecordCount = 0 Then
MsgBox "désolé ce code barre n'existe pas!,Vbinformation"

End If

end sub

Si non je ne vois pas comment l'intégrer je suis just en code !

Merci de ton aide

Cordialement,

ALAIN




Avatar
Raymond [mvp]
Bonjour.

tu peux faire ceci:
Private Sub SearchCodeBarre_AfterUpdate()
Me.Filter = "StrCodeBarre = '" & SearchCodeBarre & "'"
Me.FilterOn = True
If Me.RecordsetClone.RecordCount = 0 Then
MsgBox "désolé ce code barre n'existe pas!", vbInformation
Me.SearchCodeBarre.SetFocus
Else
Me.RetourCerfa = True
End If
End Sub

le Me.RetourCerfa = True est à voir car je ne sais pas à quoi il sert.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


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

bonjour Raymond,

Si j'ai bien compris, il suffit de mettre le filtre sur vrai,
c'est à dire si il trouve le code barre il filtre :

private sub SearchCodeBarre_AfterUpdate()

Me.Filter = "StrCodeBarre = '" & SearchCodeBarre & "'"
Me.FilterOn = True
Me.RetourCerfa = True

End Sub

Mais comment Mettre un message s'il ne trouve pas et retour à
Docmd.Gotoontrol "SearchCodeBarre"
et bien sur sans mettre Me.RetourCerfa = True ?

En résumé il trouve Le code barre il affiche l'enregistrement avec
Me.RetourCerfa = true.

Il ne trouve pas message enregistrement non trouvé

A te lire Merci

Cordialement,

ALAIN



Raymond,

Du genre :

private sub SearchCodeBarre_AfterUpdate()

Me.Filter = "StrCodeBarre = '" & SearchCodeBarre & "'"
Me.FilterOn = True
Me.RetourCerfa = True

If Me.RecordsetClone.RecordCount = 0 Then
MsgBox "désolé ce code barre n'existe pas!,Vbinformation"

End If

end sub

Si non je ne vois pas comment l'intégrer je suis just en code !

Merci de ton aide

Cordialement,

ALAIN




Avatar
alain.corai
Bonjour Raymond,

Excuse moi problème d'envoi message google.
ME.RetourCerfa = true est vrai uniquement si le filtre est trouvé :

Me.Filter = "StrCodeBarre = '" & SearchCodeBarre & "'"
Me.FilterOn = True

si non le champ RetourCerfa reste sans aucune valeur

Encore un grand merci
j'ai vu ton site une vrai mine d'or
tu fais parti des grands d'Access
As-tu pensé à écrire un livre ?
a Little big man Acess ...

Cordialement,

Alain

"Raymond [mvp]" wrote in message news:...
Bonjour.

tu peux faire ceci:
Private Sub SearchCodeBarre_AfterUpdate()
Me.Filter = "StrCodeBarre = '" & SearchCodeBarre & "'"
Me.FilterOn = True
If Me.RecordsetClone.RecordCount = 0 Then
MsgBox "désolé ce code barre n'existe pas!", vbInformation
Me.SearchCodeBarre.SetFocus
Else
Me.RetourCerfa = True
End If
End Sub

le Me.RetourCerfa = True est à voir car je ne sais pas à quoi il sert.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


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

bonjour Raymond,

Si j'ai bien compris, il suffit de mettre le filtre sur vrai,
c'est à dire si il trouve le code barre il filtre :

private sub SearchCodeBarre_AfterUpdate()

Me.Filter = "StrCodeBarre = '" & SearchCodeBarre & "'"
Me.FilterOn = True
Me.RetourCerfa = True

End Sub

Mais comment Mettre un message s'il ne trouve pas et retour à
Docmd.Gotoontrol "SearchCodeBarre"
et bien sur sans mettre Me.RetourCerfa = True ?

En résumé il trouve Le code barre il affiche l'enregistrement avec
Me.RetourCerfa = true.

Il ne trouve pas message enregistrement non trouvé

A te lire Merci

Cordialement,

ALAIN



Raymond,

Du genre :

private sub SearchCodeBarre_AfterUpdate()

Me.Filter = "StrCodeBarre = '" & SearchCodeBarre & "'"
Me.FilterOn = True
Me.RetourCerfa = True

If Me.RecordsetClone.RecordCount = 0 Then
MsgBox "désolé ce code barre n'existe pas!,Vbinformation"

End If

end sub

Si non je ne vois pas comment l'intégrer je suis just en code !

Merci de ton aide

Cordialement,

ALAIN






Avatar
Raymond [mvp]
Bonjour.

j'ai été contacté par plusieurs éditeurs mais j'ai refusé pour des raisons
d'incompatibilité de but. Pour moi, un livre est un support de transmission
du savoir et non un objet marchand.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


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

Bonjour Raymond,

Excuse moi problème d'envoi message google.
ME.RetourCerfa = true est vrai uniquement si le filtre est trouvé :

Me.Filter = "StrCodeBarre = '" & SearchCodeBarre & "'"
Me.FilterOn = True

si non le champ RetourCerfa reste sans aucune valeur

Encore un grand merci
j'ai vu ton site une vrai mine d'or
tu fais parti des grands d'Access
As-tu pensé à écrire un livre ?
a Little big man Acess ...

Cordialement,

Alain