Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[VBA][XL97] passage de parametre (recordset)

2 réponses
Avatar
Orel
bonjour a tous !

j'ai un probleme de passage de parametre sur VBA XL97.

je m'explique :
j'ai une fonction :

Function DoRequete(ByVal myReq As String)
Dim myQuery As QueryDef
Dim rs As Recordset

Set myQuery = ModData.myDB.CreateQueryDef("", myReq )
Set rs = myQuery.OpenRecordset(dbOpenDynaset)

Set DoRequete = rs

End Function

que j'apel de la sorte :

set myRS = DoRequete("SELECT *.....")
file://ma requete est valide j'en suis sur ...

cette fonction me retourne un recordset valide // ca c'est sur aussi !


puis je voudrai passé en parametre myRS a une autre fonction :
Function GenererTableau(ByVal myRS As Recordset)

GenererTableau (myRS)

mais voila j'ai un placard qui dit :
ERREUR D'EXECUTION 13
TYPE INCOMPATIBLE ...

ma question est clair mon ecriture est elle bonne ??
peu t on passer un recordset en parametre a une fonction ?

merci a vous

orel

2 réponses

Avatar
cf
Bonjour,

A priori, le problème vient de ce que tu utilisesune fonction qui doit
forcément retourner une valeur, et cette valeur il faut l'affecter à
quelque chose et il vaut mieux lui donner un type du genre entier ou
booleen.
En faisant quelque chose du genre x= GenererTableau (myRS), ça devrait
passer. Ou alors utilise plutôt une procédure qui ne renvoit rien.

Ouala.... Bon courage



"Orel" <pub[nospam]@owel.fr.st> a écrit dans le message de news:
#
bonjour a tous !

j'ai un probleme de passage de parametre sur VBA XL97.

je m'explique :
j'ai une fonction :

Function DoRequete(ByVal myReq As String)
Dim myQuery As QueryDef
Dim rs As Recordset

Set myQuery = ModData.myDB.CreateQueryDef("", myReq )
Set rs = myQuery.OpenRecordset(dbOpenDynaset)

Set DoRequete = rs

End Function

que j'apel de la sorte :

set myRS = DoRequete("SELECT *.....")
file://ma requete est valide j'en suis sur ...

cette fonction me retourne un recordset valide // ca c'est sur aussi !


puis je voudrai passé en parametre myRS a une autre fonction :
Function GenererTableau(ByVal myRS As Recordset)

GenererTableau (myRS)

mais voila j'ai un placard qui dit :
ERREUR D'EXECUTION 13
TYPE INCOMPATIBLE ...

ma question est clair mon ecriture est elle bonne ??
peu t on passer un recordset en parametre a une fonction ?

merci a vous

orel





Avatar
Orel
merci pour vos reponses

orel

"Orel" <pub[nospam]@owel.fr.st> a écrit dans le message de news:
#
bonjour a tous !

j'ai un probleme de passage de parametre sur VBA XL97.

je m'explique :
j'ai une fonction :

Function DoRequete(ByVal myReq As String)
Dim myQuery As QueryDef
Dim rs As Recordset

Set myQuery = ModData.myDB.CreateQueryDef("", myReq )
Set rs = myQuery.OpenRecordset(dbOpenDynaset)

Set DoRequete = rs

End Function

que j'apel de la sorte :

set myRS = DoRequete("SELECT *.....")
file://ma requete est valide j'en suis sur ...

cette fonction me retourne un recordset valide // ca c'est sur aussi !


puis je voudrai passé en parametre myRS a une autre fonction :
Function GenererTableau(ByVal myRS As Recordset)

GenererTableau (myRS)

mais voila j'ai un placard qui dit :
ERREUR D'EXECUTION 13
TYPE INCOMPATIBLE ...

ma question est clair mon ecriture est elle bonne ??
peu t on passer un recordset en parametre a une fonction ?

merci a vous

orel