Valeur d'un champ en cours de frappe

Le
StarFab
Bonjour à tous,
Je suis sous Access XP.
Dans un formulaire je mets une zone de texte indépendante d'aide à la recherche "MaRecherche" :
je voudrais qu'à chaque frappe dans ce champ, une zone de liste "MaListedeNoms" se mette à jour en
fonction.

MaListedeNom.Contenu =
SELECT [Nom] FROM MaTable WHERE [Nom] Like [Forms]!MonFormulaire!MaRecherche & "*"

Mon idée est de mettre le code suivant dans un évènement du champ "Recherche" mais ça ne marche pas
:
Forms!MonFormulaire!MaListedeNoms.Requery

J'ai essayé "Sur Modification" et "Sur touche appuyée" mais dans tous les cas, la valeur du champ
"Recherche" n'est jamais la valeur en cours de frappe mais la dernière valeur du champ.

Donc :
Comment faire pour récupérer dans un code VBA la chaine de caractère en cours de frappe dans une
zone de texte "indépendant" d'un formulaire ?
Car Forms!MonFormulaire!MonChamp.valeur ne renvoit pas le texte en cours de frappe !

Merci beaucoup de votre aide et n'hésitez pas à me dire si c'est pas clair.
Fabien
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Raymond [mvp]
Le #5373811
Bonjour.

Donc :
Comment faire pour récupérer dans un code VBA la chaine de caractère en
cours de frappe dans une

zone de texte "indépendant" d'un formulaire ?


Il faut tester la propriété Text dans l'événement KeyUp, ce qui permet en
plus de connaître la touche enfoncée(mettre à oui l'aperçu des touches)

Private Sub Texte1_KeyUp(KeyCode As Integer, Shift As Integer)
X = Me.Texte1.Text

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


"StarFab" news:
Bonjour à tous,
Je suis sous Access XP.
Dans un formulaire je mets une zone de texte indépendante d'aide à la
recherche "MaRecherche" :

je voudrais qu'à chaque frappe dans ce champ, une zone de liste
"MaListedeNoms" se mette à jour en

fonction.

MaListedeNom.Contenu > SELECT [Nom] FROM MaTable WHERE [Nom] Like
[Forms]!MonFormulaire!MaRecherche & "*"


Mon idée est de mettre le code suivant dans un évènement du champ
"Recherche" mais ça ne marche pas

:
Forms!MonFormulaire!MaListedeNoms.Requery

J'ai essayé "Sur Modification" et "Sur touche appuyée" mais dans tous les
cas, la valeur du champ

"Recherche" n'est jamais la valeur en cours de frappe mais la dernière
valeur du champ.


Donc :
Comment faire pour récupérer dans un code VBA la chaine de caractère en
cours de frappe dans une

zone de texte "indépendant" d'un formulaire ?
Car Forms!MonFormulaire!MonChamp.valeur ne renvoit pas le texte en cours
de frappe !


Merci beaucoup de votre aide et n'hésitez pas à me dire si c'est pas
clair.

Fabien


Pierre CFI [mvp]
Le #5373781
salut à ceux qui effectivement ne travaillent que lors de la féte du travail :o))
tu dis Text , je dirais Value

--
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
"Raymond [mvp]"
Bonjour.

Donc :
Comment faire pour récupérer dans un code VBA la chaine de caractère en
cours de frappe dans une

zone de texte "indépendant" d'un formulaire ?


Il faut tester la propriété Text dans l'événement KeyUp, ce qui permet en
plus de connaître la touche enfoncée(mettre à oui l'aperçu des touches)

Private Sub Texte1_KeyUp(KeyCode As Integer, Shift As Integer)
X = Me.Texte1.Text

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


"StarFab" news:
Bonjour à tous,
Je suis sous Access XP.
Dans un formulaire je mets une zone de texte indépendante d'aide à la
recherche "MaRecherche" :

je voudrais qu'à chaque frappe dans ce champ, une zone de liste
"MaListedeNoms" se mette à jour en

fonction.

MaListedeNom.Contenu > > SELECT [Nom] FROM MaTable WHERE [Nom] Like
[Forms]!MonFormulaire!MaRecherche & "*"


Mon idée est de mettre le code suivant dans un évènement du champ
"Recherche" mais ça ne marche pas

:
Forms!MonFormulaire!MaListedeNoms.Requery

J'ai essayé "Sur Modification" et "Sur touche appuyée" mais dans tous les
cas, la valeur du champ

"Recherche" n'est jamais la valeur en cours de frappe mais la dernière
valeur du champ.


Donc :
Comment faire pour récupérer dans un code VBA la chaine de caractère en
cours de frappe dans une

zone de texte "indépendant" d'un formulaire ?
Car Forms!MonFormulaire!MonChamp.valeur ne renvoit pas le texte en cours
de frappe !


Merci beaucoup de votre aide et n'hésitez pas à me dire si c'est pas
clair.

Fabien






Raymond [mvp]
Le #5373741
Et voilà, encore un qui travaille pour la 1ere fois le 1er mai et qui n'a
pas regardé la solution proposé.
Sur Key_Up, le champ n'est pas passé dans les événements de sortie , donc la
propriété value n'est pas encore disponible, mais la propriété Text est
disponible elle, car elle contient la valeur actuelle du champ (on change)
qui bouge à chaque frappe.

Tu dis value , je dirais text.
teste la séquence tu verras.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Pierre CFI [mvp]" news:
salut à ceux qui effectivement ne travaillent que lors de la féte du
travail :o))

tu dis Text , je dirais Value

--
Pierre CFI


Pierre CFI [mvp]
Le #5373711
c'est pas joli joli de m'écraser de ta science (Raymond la science, pas tout jeune çà) :o))

--
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
"Raymond [mvp]"
Et voilà, encore un qui travaille pour la 1ere fois le 1er mai et qui n'a
pas regardé la solution proposé.
Sur Key_Up, le champ n'est pas passé dans les événements de sortie , donc la
propriété value n'est pas encore disponible, mais la propriété Text est
disponible elle, car elle contient la valeur actuelle du champ (on change)
qui bouge à chaque frappe.

Tu dis value , je dirais text.
teste la séquence tu verras.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Pierre CFI [mvp]" news:
salut à ceux qui effectivement ne travaillent que lors de la féte du
travail :o))

tu dis Text , je dirais Value

--
Pierre CFI






Raymond [mvp]
Le #5373701
Pour une fois que je peux te reprendre je ne vais pas m'en priver. ce
plaisir est tellement rare.

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


"Pierre CFI [mvp]" news:
c'est pas joli joli de m'écraser de ta science (Raymond la science, pas
tout jeune çà) :o))


--
Pierre CFI


StarFab
Le #5373261
Effectivement ça marche !
Il faut utiliser la propriété ".text" du champ sur l'évènement "key up" (touche relachée) sinon ça
ne marche pas.
En tout cas j'ai essayé plein de combinaisons de propriétés et d'évènements et ça n'a pas marché.
Acces c'est sympa, ça marche bien mais faut pas se gourrer d'évènement ni de propriété sinon au
revoir !
Merci,
Fabien


"Raymond [mvp]" news:
Et voilà, encore un qui travaille pour la 1ere fois le 1er mai et qui n'a
pas regardé la solution proposé.
Sur Key_Up, le champ n'est pas passé dans les événements de sortie , donc la
propriété value n'est pas encore disponible, mais la propriété Text est
disponible elle, car elle contient la valeur actuelle du champ (on change)
qui bouge à chaque frappe.

Tu dis value , je dirais text.
teste la séquence tu verras.
--
@+
Raymond Access MVP
http://access.seneque.free.fr/
http://access2003.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Pierre CFI [mvp]" news:
salut à ceux qui effectivement ne travaillent que lors de la féte du
travail :o))

tu dis Text , je dirais Value

--
Pierre CFI






Publicité
Poster une réponse
Anonyme