Retourner un recordset [Résolu]

cs_Tipo
Messages postés
82
Date d'inscription
dimanche 2 novembre 2003
Dernière intervention
13 avril 2017
- 23 déc. 2004 à 14:29 - Dernière réponse : cs_Tipo
Messages postés
82
Date d'inscription
dimanche 2 novembre 2003
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+
Afficher la suite 

6 réponses

Meilleure réponse
cs_DARKSIDIOUS
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
- 23 déc. 2004 à 16:26
3
Merci
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

Merci cs_DARKSIDIOUS 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

cs_DARKSIDIOUS
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
- 23 déc. 2004 à 15:02
0
Merci
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
cs_Tipo
Messages postés
82
Date d'inscription
dimanche 2 novembre 2003
Dernière intervention
13 avril 2017
- 23 déc. 2004 à 16:07
0
Merci
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
cs_DARKSIDIOUS
Messages postés
15838
Date d'inscription
jeudi 8 août 2002
Dernière intervention
4 mars 2013
- 23 déc. 2004 à 16:16
0
Merci
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
cs_Tipo
Messages postés
82
Date d'inscription
dimanche 2 novembre 2003
Dernière intervention
13 avril 2017
- 23 déc. 2004 à 16:24
0
Merci
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 ?
cs_Tipo
Messages postés
82
Date d'inscription
dimanche 2 novembre 2003
Dernière intervention
13 avril 2017
- 23 déc. 2004 à 16:31
0
Merci
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.