Pb: Recordset non réutilisable !!!!!!!!!!!!!!!!!!!!!!

cs_papayou Messages postés 2 Date d'inscription lundi 14 octobre 2002 Statut Membre Dernière intervention 18 octobre 2002 - 17 oct. 2002 à 22:32
cs_papayou Messages postés 2 Date d'inscription lundi 14 octobre 2002 Statut Membre Dernière intervention 18 octobre 2002 - 18 oct. 2002 à 15:38
Salut à tous!
J'ai un leger probleme avec les recordsets

Comment utiliser le résultat d'un recordset dans différentes procédures ou fenetres ?
Si je construit un recordset dans une procédure (BOUTON1_Click) je n'arrive pas à
réutiliser le résultat du recordset dans une autre procédure, le recorset que j'avais créé devient vide
.... est-ce clair !!!

Voila mon code:
'Dans les déclaration public'

Public rstCLIENTS As New ADODB.Recordset
Public Function gorecordset()
With cmdMaBase
.ActiveConnection = cnnMaBase
.CommandType = adCmdText
.CommandText = "select * from CLIENT ORDER BY NOM_CLIENT,PRENOM_CLIENT"
End With
rstCLIENTS.Open "select * from CLIENT ORDER BY NOM_CLIENT,PRENOM_CLIENT", cnnMaBase, , , adCmdText
End Function

---------------------------------------
'L'appel de la fonction gorecordset
Private sub BOUTON1_Click ()
gorecordset
end sub

Comment conserver le recordset rstCLIENTS pour d'autre procédure sans relancer la fonction gorecordset ?

Merci de vos réponses.
Bonne prog

2 réponses

cs_6Po Messages postés 105 Date d'inscription jeudi 16 mai 2002 Statut Membre Dernière intervention 22 janvier 2009
18 oct. 2002 à 10:21
Tu peux utiliser une variable global pour ton recordset.

Module DB
Public rstClient as ...

Public Sub gore...
set rstClient = new adodb.recordset
Et la tu met ton record
End Sub

Public Sub goreClose
rstClient.Close
set rstClient = nothing
End sub

----------------------
Tu lances gore pour mettre les valeurs dans ton record set... et tu utilise goreClose pour le fermer quand tu en as plus besoin...
----------------------
Tu peux aussi simplifier ton record set

With cmdMaBase
.ActiveConnection = cnnMaBase
.CommandType = adCmdText
.CommandText = "select * from CLIENT ORDER BY NOM_CLIENT,PRENOM_CLIENT"
End With
rstCLIENTS.Open "select * from CLIENT ORDER BY NOM_CLIENT,PRENOM_CLIENT", cnnMaBase, , , adCmdText

Par juste
rstCLIENTS.Open "select * from CLIENT ORDER BY NOM_CLIENT,PRENOM_CLIENT", cnnMaBase
---------------------------
Par contre c'est une Sub et non une Fonction vu que tu retournes rien.
----------------------

6Po
http://www.dreamersteam.org
0
cs_papayou Messages postés 2 Date d'inscription lundi 14 octobre 2002 Statut Membre Dernière intervention 18 octobre 2002
18 oct. 2002 à 15:38
Au poil, j'essaye ce soir
Merci du coup de main

Et, vive ce forum.
0
Rejoignez-nous