VBA / ADODB Recordset Count renvoi -1
Bonjour à tous,
Mon tout premier post après avoir chercher des heures sans une "vraie" réponse, j'éspère que la communauté pourra m'aider. Je précise je débute en VBA je n'emploi peut etre pas toutes les bonnes pratiques.
Donc voilà mon problème, je suis en train de me créer une classe pour communiquer avec ma bdd SQL Server.
J'utilise ADODB.Connection et ADODB.Recordset pour cela. Je les initialise via un CreateObject et non en activant la référence pour plus de portabilité sur mon projet.
Seulement voilà, lorsque je fais un Recordset.RecordCount, j'obtiens toujours -1, peut importe le nombre de résultats réel de ma requete...
J'ai vu qu'en activant la référence MS Active X Data Objects Recordset 2.8 manuellement, mon résultat est bon et tout fonctionne bien...
Pouvez vous m'aiguiller svp ?
Voici ma classe :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
Private Connection, Recordset As Object
Private Sub Class_Initialize()
Set Connection = CreateObject("ADODB.Connection")
Set Recordset = CreateObject("ADODB.Recordset")
Connection.Open "Provider=SQLOLEDB;Data Source=127.0.0.1;Initial Catalog=BDD;User ID=root;Password=root"
End Sub
Private Sub Class_Terminate()
Set Recordset = Nothing
Connection.Close
Set Connection = Nothing
End Sub
Public Function Execute(ByVal strStatement As String)
Recordset.Open strStatement, Connection, adOpenStatic
MsgBox Recordset.RecordCount
Recordset.Close
End Function |
Et mon code de test :
Code:
1 2 3 4 5 6 7 8
|
Public Sub Test()
Dim Db As New clsDatabase
Db.Execute ("SELECT * FROM utilisateurs")
End Sub |