Comprendre code VB

Résolu/Fermé
soleil_levant Messages postés 393 Date d'inscription lundi 15 septembre 2008 Statut Membre Dernière intervention 14 avril 2011 - 3 juin 2009 à 14:05
soleil_levant Messages postés 393 Date d'inscription lundi 15 septembre 2008 Statut Membre Dernière intervention 14 avril 2011 - 4 juin 2009 à 11:55
Bonjour,

J'ai besoin de comprendre ce code en VBA :

Public Function getRecordSet(query As String) As ADODB.Recordset
Debug.Print query
Set rs = New ADODB.Recordset
rs.ActiveConnection = CurrentProject.Connection
rs.CursorLocation = adUseClient
rs.Open query
Set getRecordSet = rs
End Function


Quelqu'un peut m'expliquer ligne par ligne s'il vous plait Merci pour votre aide
A voir également:

1 réponse

Lazarey Messages postés 3239 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 21 mai 2012 745
3 juin 2009 à 14:37
Salut,

Je veux bien t'aider, mais je ne suis pas sur à 100% de mon explication.

Public Function getRecordSet(query As String) As ADODB.Recordset

Déclaration de la fonction. C'est une fonction publique qui s'appelle getRecordset. Elle prend en paramètre d'entrée une requête SQL à priori.

Debug.Print query

Debug.print sert à afficher dans la fenêtre d'exécution ce qui est passé en paramètre. Cette ligne affiche la requête. Pour afficher la fenêtre d'exécution, c'est "affichage" --> "fenêtre d'exécution"

Set rs = New ADODB.Recordset

C'est il me semble la déclaration d'un nouveau recordset, c'est à dire d'un espèce de tableau pouvant contenir un seul enregistrement d'une table ou d'un résultat de requête.

rs.ActiveConnection = CurrentProject.Connection

Connexion à la base de données du projet existant.

rs.CursorLocation = adUseClient

Aucune idée de ce que ça veut dire.

rs.Open query

Exécution de la requête et récupération du résultat dans le recordset.

Set getRecordSet = rs

Le résultat de la fonction est le résultat de la requête.

End Function 

Fin de la fonction.


Pour résumer, cette fonction exécute et renvoie le résultat de la requête passée en paramètre. Mais attention, si le résultat de la requête contient plusieurs enregistrements, alors je ne sais pas ce qui se passe.

J'espère avoir pu t'aider.
0
soleil_levant Messages postés 393 Date d'inscription lundi 15 septembre 2008 Statut Membre Dernière intervention 14 avril 2011 32
4 juin 2009 à 11:55
Merci infiniment :)

Résolut
0