Bonjour,
Avec l'aide de la recherche multi critères de Caféine, j'ai créé un formulaire similaire.
Seulement, une question me taraude : Dans sa recherche, il effectue une mise à jour de sa liste (lstResults) à l'aide de la fonction RefreshQuery, qui s'active au moment où on coche les cases pour faire apparaitre les champs.
Dans mon formulaire actuel, j'ai à peu près une dizaine de Textbox (sans checkbox "associée"). je voudrais lancer la requête RefreshQuery à chaque fois qu'un de mes contrôles est modifié.
Pour exemple, dès que je tape une lettre dans une Textbox, ma liste va se mettre à jour. Voici quelques exemples plus concrets.
Dans un premier temps, j'ai essayé de le faire sur un controle.
J'ai appelé ma textbox textBox1. J'ai essayé avec l'évènement suivant :
Sauf que ça fonctionne pas : quand je vérifié la valeur de ma textbox quand j'ai tapé la lettre a (par exemple), il me dit que la valeur est null
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub Textbox1_Change() RefreshQuery End Sub
Par contre, si je quitte ma textbox et que je reviens dessus, et qu eje tape une autre lettre il voit bien la lettre a
Auriez-vous une explication ?
Par ailleurs, j'ai ensuite essayé sur l'évènement KeyPress, mais j'ai le même phénomène.
Enfin, j'ai fait sur l’événement AfterUpdate et BeforeUpdate, et là ça fonctionne dès que je quitte le champ, mais c'est pas ce que je veux
Quelqu'un aurait une idée ?
Dans un 2e temps, plutôt que d'écrire des :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub Textbox1_Change() RefreshQuery End Subetc.. pour chaque Textbox, je voudrais savoir s'il n'existe pas un moyen "plus court" pour le faire sur chaque événement de chaque contrôle.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Private Sub Textbox2_Change() RefreshQuery End Sub
J'ai entendu parler de collections, mais j'ai cherché un peu sur le net, je n'ai rien de trouvé de concret.
Quelqu'un pourrait-il éclairer ma lanterne, ou une solution, si cela existe ?
En vous remerciant par avance de vos réponses
Partager