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

VB 6 et antérieur Discussion :

[VB6] Problème récupération de données


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Inscrit en
    Août 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 18
    Points : 9
    Points
    9
    Par défaut [VB6] Problème récupération de données
    Bonjour,

    J'espére que vous pourrez m'aider car je commence à m'arracher les cheveux.

    J'exécute une requête dans laquelle je sélectionne les valeurs d'un fichier .csv :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    objRecordSet.Open "SELECT * FROM " & CommonDialog1.FileTitle & "", _
    objConnection, adOpenStatic, adLockOptimistic, adCmdText
    Ensuite, j'établis la connection à la base de données :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Set cnx = New ADODB.Connection        
    'Définition du pilote de connexion
    cnx.Provider = "Microsoft.Jet.OLEDB.4.0"
    'Définition de la chaîne de connexion
    cnx.ConnectionString = "C:\DB1.mdb"
    'Ouverture de la base de données
    cnx.Open
    Et enfin, j'insére les valeurs obtenues dans une table Access :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Do Until objRecordSet.EOF
        TmpSqlInsertCorporateData = "INSERT INTO CORPORATE_DATA    (ENTITY_ID, CORPORATE_NAME) VALUES (" & objRecordSet.Fields.Item(0) & ", '" & objRecordSet.Fields.Item(1) & "');"
        cnx.Execute (TmpSqlInsertCorporateData)        
        objRecordSet.MoveNext
    Loop              
    cnx.Close
    Les données sont bien récupérées et bien insérées dans ma table exceptée les données du premier record!

    Pouvez-vous m'aider? Merci d'avance

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Les données sont bien récupérées et bien insérées dans ma table exceptée les données du premier record
    Et cette ligne est bien présente dans le recordset ? (c'est la première ligne du .csv ?)

    Vérifie ici en mode debug si le premier enregistrement du recordset est bien égal à ta première ligne du .csv :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    objRecordset.MoveFirst
    Stop
    Do Until objRecordSet.EOF
        TmpSqlInsertCorporateData = "INSERT INTO CORPORATE_DATA    (ENTITY_ID, CORPORATE_NAME) VALUES (" & objRecordSet.Fields.Item(0) & ", '" & objRecordSet.Fields.Item(1) & "');"
        cnx.Execute (TmpSqlInsertCorporateData)        
        objRecordSet.MoveNext
    Loop

  3. #3
    Futur Membre du Club
    Inscrit en
    Août 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Le premier record est bien dans le fichier csv mais n'est apparemment pas dans le recordSet.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 730
    Points : 876
    Points
    876
    Par défaut
    Tu as peut-être un problème de formatage du .csv : ouvres-le dans le bloc-note et dis nous si tu constates quelque chose de particulier. Ce .csv est issu d'un export Excel ?

  5. #5
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    ton fichier cvs n'as pas d'entête de colonne.?

  6. #6
    Futur Membre du Club
    Inscrit en
    Août 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Voici les données qui figurent dans le bloc note :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    15;ASTRIDIM;BE;XX;N;N;N;31/dec;0;6;100.0
    4;VENDOME LAND;BE;XX;N;N;N;31/dec;0;16;100.0
    19;STILLA;NL;XX;N;N;N;31/dec;0;18;99.99
    8;CASIO GIE;BE;XX;N;N;N;31/dec;0;19;80.01
    11;MOSELLA;LU;XX;N;N;N;31/dec;;;
    16;FB MANANGEMENT;LU;XX;N;N;N;31/dec;;;
    18;CGER INVEST;LU;XX;N;N;N;31/dec;;;
    3;MADISON LEASE;BE;XX;N;N;N;31/dec;;;
    En mode debug, je vois que le recordset commence à la deuxième ligne et omet donc la ligne suivante : 15;ASTRIDIM;BE;XX;N;N;N;31/dec;0;6;100.0

  7. #7
    Futur Membre du Club
    Inscrit en
    Août 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Non, pas d'entête. Je récupére les données dès la première ligne autrement dit colonne A, ligne 1.

  8. #8
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    on peu voir le code relatif à
    objConnection

  9. #9
    Futur Membre du Club
    Inscrit en
    Août 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
    "Data Source=" & strPathtoTextFile & ";" & _
    "Extended Properties=""text;HDR=YES;FMT=Delimited"""
    En ce qui concerne le chemin (strPathtoTextFile ), il est récupéré de la sorte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    tabFileName() = Split(CommonDialog1.FileName, "\")
     
            For i = 0 To 30
                If tabFileName(i) Like "*.csv*" Then
                    Exit For
                Else
                    If i = 0 Then
                        strPathtoTextFile = strPathtoTextFile & tabFileName(i)
                    Else
                        strPathtoTextFile = strPathtoTextFile & "\" & tabFileName(i)
                    End If
                End If
            Next i

  10. #10
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 038
    Points
    20 038
    Par défaut
    essai HDR=NO dans chaine de connexion

  11. #11
    Futur Membre du Club
    Inscrit en
    Août 2006
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 18
    Points : 9
    Points
    9
    Par défaut
    Super !!!
    C'était bien ça. Un très grand merci.

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

Discussions similaires

  1. problème récupération de données en liaison série
    Par prison_break dans le forum C++Builder
    Réponses: 4
    Dernier message: 27/06/2007, 08h51
  2. [VB6] Mauvaise récupération de données
    Par valie dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 10/10/2006, 09h58
  3. problème récupération de données dans des fichiers .DAT
    Par indymontpellier dans le forum Bases de données
    Réponses: 4
    Dernier message: 13/04/2006, 07h54
  4. [MySQL] Problème récupération de données avec un SELECT DISTINCT
    Par 12_darte_12 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/07/2005, 14h48
  5. [Débutant] Problème récupération de données
    Par flogreg dans le forum Servlets/JSP
    Réponses: 26
    Dernier message: 20/08/2004, 17h29

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