IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Problème de récupération de données DBF avec ADO [XL-2019]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 231
    Par défaut Problème de récupération de données DBF avec ADO
    Bonjour,

    J'utilise ADO pour me connecter à une bdd au format DBF (Visual FoxPro) pour récupérer un champ d'environ 83000 valeurs.

    La méthode ci-dessous fonctionne sans problème :

    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
    Sub Methode_1()
    Dim cnx As ADODB.Connection
    Dim rst As ADODB.Recordset
    Set cnx = New ADODB.Connection
    Set rst = New Recordset
     
    cnx.Open "Driver={Microsoft Visual FoxPro Driver};SourceDB=C:\Fichiers;SourceType=DBF;Exclusive=No"
     
    rst.Open "SELECT GPTETEXP.TX_TEXP FROM GPTETEXP", cnx
     
    ThisWorkbook.Sheets("Feuil1").Range("A1").CopyFromRecordset rst
     
    rst.Close
    cnx.Close
    End Sub
    Cependant cette deuxième méthode ne me donne que 17401 résultats sur les 83000

    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
    16
    17
    Sub Methode_2()
    Dim Tableau As Variant
    Dim cnx As ADODB.Connection
    Dim rst As ADODB.Recordset
    Set cnx = New ADODB.Connection
    Set rst = New Recordset
     
    cnx.Open "Driver={Microsoft Visual FoxPro Driver};SourceDB=C:\Fichiers;SourceType=DBF;Exclusive=No"
     
    rst.Open "SELECT GPTETEXP.TX_TEXP FROM GPTETEXP", cnx
     
    Tableau = Application.Transpose(rst.GetRows)
    ThisWorkbook.Sheets("Feuil1").Range("A1:A" & UBound(Tableau)).FormulaLocal = Tableau
     
    rst.Close
    cnx.Close
    End Sub
    Comme si le fait de récupérer les valeurs dans une variable tableau tronquait le résultat...

    J'aimerais comprendre ce qui pose problème, pourriez-vous m'aider svp ?

    Merci d'avance et bonne soirée.

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    231
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 231
    Par défaut
    Je n'ai pas réussi à résoudre ce problème mais j'ai pu le contourner en réduisant le nombre d'enregistrements de la base de données. (Voir ce sujet)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2013] Problème de récupération de donnée avec DLookup
    Par Domi.mi dans le forum Access
    Réponses: 1
    Dernier message: 08/11/2015, 06h38
  2. Problème de récupération de donnée avec ArrayList
    Par misternewton dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 03/09/2012, 15h51
  3. Réponses: 4
    Dernier message: 05/08/2011, 12h12
  4. [MySQL] problème avec la récupération de données hashées avec l'algorythme md5 dans ma BD
    Par roy-mustang dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 07/07/2011, 08h21
  5. ADO - Problème de récupération des données
    Par Kloun dans le forum VBA Access
    Réponses: 3
    Dernier message: 19/09/2007, 11h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo