Pb: Recordset non réutilisable !!!!!!!!!!!!!!!!!!!!!!
cs_papayou
Messages postés2Date d'inscriptionlundi 14 octobre 2002StatutMembreDernière intervention18 octobre 2002
-
17 oct. 2002 à 22:32
cs_papayou
Messages postés2Date d'inscriptionlundi 14 octobre 2002StatutMembreDernière intervention18 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 ?
cs_6Po
Messages postés105Date d'inscriptionjeudi 16 mai 2002StatutMembreDernière intervention22 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.
----------------------