Problème pour l'ouverture d'un ADODB.Recordset
Bonjour,
Si je suis ici, c'est que j'ai un problème, donc le voici...
Lorsque je tente d'ouvrir un "ADODB.Recordset", j'ai constamment un message d'erreur à l'exécution... J'ai tenté d'écrire le code de plusieurs façons (trouvées sur internet), mais toujours exactement le même erreur :
"[Microsoft][Pilote ODCB Texte] Trop peu de paramètres. 2 attendus."
Là où je ne comprend vraiment pas, c'est qu'ayant mis le fichier Excel sur un autre PC possédant Excel 2000, cela a très bien fonctionné. (Le problème n'est présent qu'avec la version 2007 d'Office)
Voici un des codes que j'ai essayé :
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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| Sub Test()
Dim Repertoire As String
Dim CSVFile As String
Repertoire = ActiveWorkbook.Path & "\"
CSVFile = "Tests.csv"
Dim Connect As ADODB.Connection
Dim Command As ADODB.Command
Dim REcord As ADODB.Recordset
Set Connect = New ADODB.Connection
Connect.ConnectionString = _
"ODBC;DBQ=" & Repertoire & ";DefaultDir=C:\;" & _
"Driver={Microsoft Text Driver (*.txt; *.csv)};DriverId=27;" & _
"Extensions=txt,csv,tab,asc;FIL=text;MaxBufferS"
Connect.Open
Dim Sel As String
Dim Whe As String
Dim strSQL As String
Sel = "Fonction"
Whe = "Catégorie ='Test'"
strSQL = _
"SELECT " & Sel & _
" FROM " & CSVFile & _
" WHERE " & Whe
Set Command = New ADODB.Command
Command.ActiveConnection = Connect
Command.CommandType = adCmdText
Command.CommandText = strSQL
Set Record = Command.Execute
[Utilisation dans Excel...]
Record.Close
Set Record = Nothing
Connect.Close
Set Connect = Nothing
End Sub |
La ligne surlignée est "Set Record = Command.Execute"
Si je n'utilise pas de "ADODB.Command" et que j'utilise :
Code:
1 2
| Set Record = New ADODB.Recordset
Record.Open ReqSQL, Connect |
Là c'est la seconde ligne qui est surlignée (même erreur)
Ça fonctionnait très bien sous Office 2000, alors je pense à des paramètres différents de VBA... J'ai lu qu'il fallait cocher, dans "Outils > Références..." 3 choses :
> Microsoft ActiveX Data Objects 2.8 Library
> Microsoft ActiveX Data Objects Recordset 2.8 Library
> Microsoft ADO Ext. 2.8 for DLL and Security
Ces trois cases sont biens cochés sur les 2 PC.
Voilà, je bloque complètement ><
Merci de m'avoir lu (au moins :p) et merci d'avance aussi ceux qui se pencheront sur le problème ^^'.
S'il y a une question ou un détail à apporter, n'hésitez pas à le demander. De même, si vous trouvez quelque chose d'inutile ou une amélioration que je pourrais faire (même si ça ne concerne pas le problème même), je suis là pour apprendre (surtout que je m'y connais très peu en VBA, je bidouille :p)
Edit : C'est un soucis de séparateur de liste, différents entre 2007 et 2000... j'ouvre un autre topic pour préciser...