Rafraichissement de Recordset

Joe - 6 févr. 2001 à 17:22
 Joe - 7 févr. 2001 à 13:00
Je développe une appli VB6/Access avec une série de TextBox permettant de fixer des critères de recherche.
J'utilisais jusqu'à maintenant un controle ADODC rendu invisible sur la Form. Je suis en train de le transformer en pur code.

Le problème :
La requête est exécutée dès que l'un des TextBox change. Donc, à chaque évenement Change la requête SQL est reformulée. Comment réaliser ce rafraichissement "dynamique" du Recordset ? Le message d'erreur m'indique que le RS est déjà ouvert...

Merci d'avance !

Joe

2 réponses

Envoi ton code pour voir car là c'est pas évident de se faire une idée
0
OK, FrankyMan, ce soir sans faute. Je ne l'ai pas sous la main là.

De mémoire :

Dans le Form_Load je crée une Connection puis un Recordset avec NomDuRecordset.Open "SELECT NomsDesChamps FROM NomDeTable", NomConnection, etc... Donc à ce stade le recordset n'est pas filtré par une clause WHERE.
Ensuite, je veux que le Recordset ainsi créé soit modifié en fonction de ce que l'utilisateur entre dans les Textbox de recherche. Donc il faudrait que à chaque caractère tapé dans un Textbox, la requête soit reformulée (clause WHERE) et le Recordset rafraichi en conséquence.
Pour cela je passe par l'événement NomTextbox_Change.
Je parviens sans pb à reformuler la requête SQL mais je ne sais pas comment l'appliquer au Recordset.
Il faudrait donc un truc du style :

Private Sub NomDuTextbox_Change
ClauseWHERE="bla bla bla"
NomDuRecordset.Recordsource="SELECT NomDesChamps FROM NomTable" & ClauseWHERE
End Sub

C'est plus clair comme ça ?

Joe.
0
Rejoignez-nous