VBA-SQL (MariaDB) : Requête 'SELECT * FROM' fonctionne mal
Bonjour à tous,
J'ai un Excel connecté à une base de données SQL, via un ODBC MariaDB. Aucun souci sur la liaison, tout fonctionne bien.
Toutefois, la requête SELECT * FROM table me renvoie un résultat plus qu'étrange, puisqu'elle double forcément le premier enregistrement et n'affiche pas le dernier.
Exemple:
J'ai une table 'companies', avec 3 enregistrements (idCompany = 1, 2 et 3). Lorsque sur mon visualiseur de BDD j'utilise la requête : SELECT * FROM companies;, je me retrouve avec le résultat suivant :
1 |
1 |
2 |
test 1 |
123456789 |
SAS |
test |
2 |
1 |
2 |
test 2 |
123456789 |
SAS |
test |
3 |
1 |
2 |
test 3 |
123456789 |
SAS |
test |
Ce qui correspond parfaitement aux enregistrements de la table.
Quand je fais cette même requête via VBA, je trouve le résultat suivant :
1 |
1 |
2 |
test 1 |
123456789 |
SAS |
test |
1 |
1 |
2 |
test 1 |
123456789 |
SAS |
test |
2 |
1 |
2 |
test 2 |
123456789 |
SAS |
test |
Sachant que ma requête est :
Code:
1 2 3 4 5 6 7 8 9
| sqlQuery = "SELECT * FROM companies"
rsDB.Open sqlQuery, conDB, adOpenDynamic
Do While Not rsDB.EOF
For Each result In rsDB.GetRows
Debug.Print result
Next
Loop
rsDB.Close |
Si je considère la requête SELECT idCompany FROM companies;, dans ce cas je récupère bien la liste 1, 2 et 3. Le bug apparaît donc uniquement à l'utilisation du SELECT *.
Quelqu'un aurait-il une brillante (ou non) idée pour me dépanner ? J'ai tourné ça dans tous les sens, mais je ne vois vraiment pas comment gérer le problème...
Merci beaucoup !
Belle journée ou soirée,
--- Edit
J'en profite pour préciser que l'ajout de DISTINCT, ou ALL ou autre dans la requête n'y change malheureusement rien...
Et si je demande ORDER BY idCompany DESC, je retrouve le même problème mais inversé, avec 2 fois la ligne id=3, et une fois la ligne id=2. L'enregistrement id=1 n'apparait donc pas...