Récupération de données Access depuis Excel - Problème CopyFromRecordset

Davidc57

XLDnaute Occasionnel
Bonjour le forum,

Un petit souci dans excel vba.

Depuis VBA Excel, je construit une requête SQL dans la variable 'strReq' que j'exécute dans Access avec la commande :

Dim rst As DAO.Recordset
Set rst = db.OpenRecordset(strReq)

J'ai fait cela des dizaines de fois sans aucun problème mais ce coup ci je ne m'explique pas pour quelle raison je perd des enregistrements lors du transfert des données dans excel avec la commande :

ws.Range("A1").Offset(1, 0).CopyFromRecordset rst

En effet, je récupère 683 enregistrements dans excel alosr que si j'exécute directement la requête 'strReq' dans Access, j'obtiens 971 enregistrements. Je précise que j'ai récupéré la valeur de strReq (chaîne de caractères) dans une case excel afin de faier un copié-collé dans une nouvelel requête Access. C'est donc bien la même requête qui est exécutée dans les deux cas.

Quelqu'un aurait-il une idée ?

je n'en dis pas plus pour le moment pour ne pas vous induire en erreur mais si vous avez besoin de plus d'informations n'hésitez pas à me le demander.

Merci d'avance,
David
 

tototiti2008

XLDnaute Barbatruc
Re : Récupération de données Access depuis Excel - Problème CopyFromRecordset

Bonjour Davidc57,

Personnellement pour les connexions entre 2 applications j'utilise plutôt ADO, et pour les requêtes dans Access sur les données Access j'utilise DAO.
Pas sûr que ce soit vraiment une règle à respecter, mais bon....
au hasard, peut-être essayer un
Code:
rst.MoveFirst

avant ton Copyfromrecordset ?
 

Davidc57

XLDnaute Occasionnel
Re : Récupération de données Access depuis Excel - Problème CopyFromRecordset

Merci tototiti2008,

Je n'ai pas testé ta proposition car j'ai trouvé le problème.

Je m'étais dévié vers une base Access de test lorsque j'interrogeais Access depuis Excel ... alors que quand j'exécutais ma requête manuellement j'étais sur la base Access en production.

Désolé de vous avoir ennuyé pour rien et encore merci de votre temps.

David
 

Discussions similaires

Statistiques des forums

Discussions
312 332
Messages
2 087 362
Membres
103 530
dernier inscrit
Chess01