Retourner un recordset

Résolu
cs_Tipo Messages postés 82 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 13 avril 2017 - 23 déc. 2004 à 14:29
cs_Tipo Messages postés 82 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 13 avril 2017 - 23 déc. 2004 à 16:31
Ma question est simple :

Est-il possible de créer un fonction qui retourne un recordset ? Et si oui comment ?

Merci a+

6 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
23 déc. 2004 à 16:26
Forcément, tu ne lui fait rien renvoyé :

Public Function OuvreRecord(Req As String) As ADODB.Recordset
Set base = New ADODB.Connection
base.Provider = "Microsoft.Jet.Oledb.4.0"
base.ConnectionString = "cvtst.mdb"
base.Open
Set rs = New ADODB.Recordset
rs.Open Req, base, adOpenDynamic
Set OuvreRecord = rs
End Function
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
3
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
23 déc. 2004 à 15:02
Oui bien sûr, il te suffit de spécifié le retour de ta fonction étant de type Recordset :

Public Function Fonction() As Recordset 'ou ADODB.Recordset sous ADO
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
cs_Tipo Messages postés 82 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 13 avril 2017 1
23 déc. 2004 à 16:07
Ok mais mon problème se situe un peu plus loin :

J'ai ma fonction :

Public Function OuvreRecord(Req As String) As Recordset

Lorsque j'appelle ma fonction, je voudrai récupérer le résultat dans une variable recordset. J'ai essayé un truc du genre

set nouveaurecordset=Ouvrerecord(req)

Mais ça ne marche pas. Peux-tu m'en dire plus ?

Merci
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
23 déc. 2004 à 16:16
Ah ca marche très bien chez moi en tout cas sur un projet sur lequel je planche pour le boulot.

reste à savoir si à l'intérieur de ta fonction tout marche bien.

Que veux-tu dire par "ca marche pas" ? C'est quoi qui ne marche pas ?
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0

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

Posez votre question
cs_Tipo Messages postés 82 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 13 avril 2017 1
23 déc. 2004 à 16:24
La fonction :

Public Function OuvreRecord(Req As String) As ADODB.Recordset
Set base = New ADODB.Connection
base.Provider = "Microsoft.Jet.Oledb.4.0"
base.ConnectionString = "cvtst.mdb"
base.Open
Set rs = New ADODB.Recordset
rs.Open Req, base, adOpenDynamic
End Function

La fonction appelante fait :

Public Function NumInterne() As Integer
Dim ess As Recordset
Set ess = New Recordset
Set ess = OuvreReq("avec ma reqête en param")
MsgBox (ess.Fields(1).Value) -> pour tester
End Function

A l'exécution vb me répond variable objet non définie ?
0
cs_Tipo Messages postés 82 Date d'inscription dimanche 2 novembre 2003 Statut Membre Dernière intervention 13 avril 2017 1
23 déc. 2004 à 16:31
J'suis trop ***, j'avais la solution sous les yeux!

Il est tant que je prenne des vacances!

Merci pour ton aide si précieuse
0
Rejoignez-nous