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

1 réponse

Lazarey
Messages postés
3231
Date d'inscription
vendredi 3 novembre 2006
Statut
Membre
Dernière intervention
21 mai 2012
744
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