Bonjour à tous,
Je rencontre un problème avec un fichier .dbf.
J'essaye d'effectuer des requete SQL, pour le moment aucun problème
Tous fonctionne correctement cependant sur une colonne j'ai un problème : les valeurs qui me sont retourner n'on absolument rien à voir avec ce que contient le fichier DBF.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 Dim source As ADODB.Connection Dim Requete As ADODB.Recordset Dim Chemin As String, fichier As String, texte_SQL As String Chemin = ThisWorkbook.Path fichier = "fichier.dbf" Set source = New ADODB.Connection source.Open "Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=" & Chemin & ";" texte_SQL = "SELECT * FROM " & fichier & ";" Set Requete = New Recordset Requete.Open texte_SQL, source, adOpenKeyset, adLockOptimistic
Par exemple je devrais attendre ce genre de valeur (présente dans mon dbf):
et j'obtient ceci :76035
271435
271439
271445
271450
274875
Je tiens à préciser que je n'ai de problèmes que sur cette colonne et que les 19 autres fonctionnent sans aucun soucis.33648
35243
35243
35243
35243
35278
Est ce que quelqu'un à une idée, une piste ?
PS : question bonus : est-il possible de faire des requete SQL sur un fichier de type .SLK
Cordialement
Omsalam
Je me permet d'ajouter quelques précision :
- quand j'ouvre le fichier avec visual studio j'obtiens bien les même nombre que je souhaite afficher en vrai (avec même leur code hexadécimal qui correspond)
Pour moi cela prouve que le fichier est correcte, qu'il est bien former.
Cela viens donc de mon code :
- peut être de la référence vers : Microsoft ActiveX Data Objects 2.X Library
Il y en a tellement que je ne sait lequel prendre : 2.0, 2.1, 2.2, 2.3, ....
- Peut être de mes paramètre lors de l’exécution de la requête : dOpenKeyset, adLockOptimistic
- Ou alors de ma connectionString ?
Des idées ?
Ps : Sinon est-il possible de faire ce même genre de requete SQL mais directement sur des fichiers excel : les nom de colonnes serait alors j'imagine le numero de colonne sur excel "A,EA, ..."
Partager