Recorset se clot tout seul ?

Résolu
kanagan Messages postés 26 Date d'inscription mercredi 17 décembre 2003 Statut Membre Dernière intervention 29 mars 2006 - 29 mars 2006 à 11:19
kanagan Messages postés 26 Date d'inscription mercredi 17 décembre 2003 Statut Membre Dernière intervention 29 mars 2006 - 29 mars 2006 à 14:17
Bonjour,
Voilà je débute en VB, et dans mon code, il y a un truc que je n'ai pas compris avec les recordSet.
Je m'explique, j'utilise 2 recordSet pour effectuer 2 requêtes, un pour faire un INSERT et un pour faire un SELECT. Lorsque que j'exécute mes requêtes avec rs.open tout se passe correctement, mais lorsque je veux les clore en faisant rs.close, cela ce passe bien pour la requête avec le SELECT, mais avec le recordSet de la requête de l'INSERT, j'ai un message d'erreur de type:
"Operation not allowed when the object is closed".
Cela veut dire qu'en faisant un INSERT, le recordSet se clot tout seul ?
Et si oui, est-il fermé proprement ou y a-t-il une méthode pour le faire proprement?

Je n'ai pas bien saisi ce point, si vous pouviez m'aider.

Merci par avance.

5 réponses

cs_jperre Messages postés 268 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 19 janvier 2017 2
29 mars 2006 à 13:58
Non, il n'y a pas besoin de fermer un objet Command, il suffit de la vider de l'effacer en mémoire avec Set ObjetCommang=Nothing.
3
cs_jperre Messages postés 268 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 19 janvier 2017 2
29 mars 2006 à 11:30
L'erreur vient du fait qu'il ne fallait pas utiliser un objet recordset pour effectuer une requête action, mais un objet Command
Dim cmInsert As ADO.Command
Set cmInsert=New ADO.Command
cmInsert.ActiveConnection=NomObjet ADO.Connection
cmInsert.CommandText="INSERT INTO..."
cmInsert.Execute
...
Bon courage!...
0
kanagan Messages postés 26 Date d'inscription mercredi 17 décembre 2003 Statut Membre Dernière intervention 29 mars 2006
29 mars 2006 à 11:57
Effectivement ça marche mieux ^^.

Encore une dernière question:
Pour fermer proprement l'objet command, on fait seulement
Set cmInsert = nothing ?
Ou y a t'il autre chose à faire, du genre cmInsert .cancel ?
Sachant qu'il n'est plus utilisé par la suite.
0
cs_jperre Messages postés 268 Date d'inscription lundi 9 janvier 2006 Statut Membre Dernière intervention 19 janvier 2017 2
29 mars 2006 à 13:58
Non, il n'y a pas besoin de fermer un objet Command, il suffit de la vider de l'effacer en mémoire avec Set ObjetCommang=Nothing.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kanagan Messages postés 26 Date d'inscription mercredi 17 décembre 2003 Statut Membre Dernière intervention 29 mars 2006
29 mars 2006 à 14:17
Ok merci beaucoup c'est parfait.
@++
0
Rejoignez-nous