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

Méthode Find

12 réponses
Avatar
Stéphane Lavergne
Bonjour,

Je suis sur Windows XP Pro, Office XP Pro, toutes les mises à jours sont
faites.

Dans un formulaire, j'ai un champs indépendant Recherche.
Sur événement Après mise à jour, je veux chercher n'importe où dans mon
formulaire le texte que je viens de taper dans le champs Recherche.
Private Sub Recherche_AfterUpdate()

DoCmd.FindRecord Me.Recherche, acAnywhere, False, acSearchAll, False,
acAll, True

End sub

Mais j'ai l'erreur :
Erreur d'ecécution '2162':
Une macro définie sur une des propriétés du champ en cours a échoué à cause
d'une erreur dans l'argument de l'action TrouverEnregistrement.
Fin / Débogage

Le fait de débogguer m'amène sur la ligne FindRecord.

Je vérifie mais la syntaxe indiquée dans l'aide est bien comme celle notée.
Je n'arrive pas à comprendre pourquoi ça ne fonctionne pas.

Pouvez-vous m'aider, s'il vous plait.
Merci d'avance.

--
Cordialement,

Stéphane Lavergne

2 réponses

1 2
Avatar
Pierre CFI [mvp]
attention aux ' ici
rs.FindFirst ("[blablabla] like *" & Me.moncontrole & "*" ) Or
("[blablabla] like *" & Me.moncontrole1 & "*" ) Or
.........
like '*" & Me.moncontrole & "*'" )

--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"Stéphane Lavergne" a écrit dans le message de news:
Hihi, merci Raymond, j'étais dessus... mais je butais bêtement sur le
jocker... je mettais 1 %

Mais... rs est à décalrer en Object ? pas en Recordset ?

Stéphane

"Raymond [mvp]" a écrit dans le message de
news:
Il faudrait que tu déclares tes 4 champs dans un même index ( les mettre
contigus) et utiliser le seek ( si c'est possible car il ne fonctionne pas
sur tables attachées).
sinon le findfirst peut marcher avec un like et des Or dans la clause
where

mais je ne garantis pas la performance en vitesse.
Dim rs As Object
Set rs = Me.Recordset.Clone
rs.FindFirst ("[blablabla] like *" & Me.moncontrole & "*" ) Or
("[blablabla] like *" & Me.moncontrole1 & "*" ) Or
.........
If Not rs.EOF Then Me.Bookmark = rs.Bookmark


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


"Stéphane Lavergne" a écrit dans le message de
news:%
Bonjour,

OK, je comprends mieux pourquoi ça ne fonctionnait pas.

Je vais essayer de concaténer, en fait ma recherche doit porter sur 4
champs

textes de mon formulaire.

A moins que, Raymond, avec FindFirst, est-il possible de chercher 1
valeur


n'importe où dans le texte de 4 contrôles?

Merci déjà pour ces éclairssiements, j'ai de quoi chercher 1 peu mieux
:)



Stéphane











Avatar
Stéphane Lavergne
C'est bien FindNext que j'utilise pour le suivant :)
Mais je viens de trouver le pb
Je déclare maintenant rs au niveau module
et avant le findnext, je ne le Set pas

Tout fonctionne maintenant, merci por vos aides :)

Stéphane

"Raymond [mvp]" a écrit dans le message de
news:
Les méthodes FindFirst, FindLast, FindNext, FindPrevious sont-elles faites
pour les chiens ???????
ça va faire je crois.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Stéphane Lavergne" a écrit dans le message de
news:
Ca marche !
Mais, j'ai 1 autre problème.

Donc sur ce formulaire, j'ai comme déjà cité ce contrôle indépendant
Recherche, mais aussi 1 bouton Recherche_Suivant.

Mais le problème se situe maintenant sur le contrôle Recherche_suivant
qui


ne recherche pas le suivant, mais le 1er déjà trouvé et affiché.
Même si je reclique sur le bouton plusieurs fois de suite.







1 2