Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 7 sur 7
  1. #1
    Invité de passage
    Inscrit en
    juillet 2012
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : juillet 2012
    Messages : 8
    Points : 1
    Points
    1

    Par défaut Importation données de Excel vers Access (ADO)

    Bonsoir,

    voila, j'explique mon probème:

    dans une form j'ai:

    - une adoconnection connectée a une base Access 2007, (en utilisant le provider Microsoft.ACE.OLEDB.12.0)
    - une Adotable liée a adoconnection1 avec tableName=Table1,
    - une Adoquery avec le code SQL suivant:
    Insert into [Table1]
    select *
    from [feuil1$]
    in 'C:\test.xlsx'

    - un bouton avec le code suivant :
    adoconnection1.Connected:=true;
    adotable1.Active:=true;
    adoquery1.ExecSQL;

    vous l'aurez compris, mon but est d'importer les données contenues dans le fichier excel sur ma table Access (créé auparavant en utilisant l'outil 'Données Externes'/'Excel'). les données sont toutes de type 'Texte' que ce soit sur Access ou Excel.
    Alors quand je suis sur mon pc au bureau cette méthode marche très bien et je n'ai aucun soucis lors de l'éxecution, par contre sur mon pc perso... j'ai un message d'erreur lorsque j'appuye sur le bouton pour lancer la requête : "Format de base de données (C:\test.xlsx) non reconnu"

    quelqu'un aurait une idée pour régler ce problème ? d'ou ca pourrait venir ? je désespère, je trouve rien sur le net concernant cette méthode et cette erreur.

    Remarque importante: quand j'essaye de me connecter via Adoconnection directement sur la table Excel (en utilisant Microsoft.ACE.OLEDB.12.0 et Extended properties=Excel 8.0 bien sûr) la connection réussit et il reconnait le format. c'est ce qui est encore plus bizarre je trouve.!!

    Merci d'avance.

    Cordialement.
    Daem

  2. #2
    Membre Expert Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    août 2008
    Messages
    1 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : août 2008
    Messages : 1 527
    Points : 1 015
    Points
    1 015

    Par défaut

    Citation Envoyé par DAEM86 Voir le message
    "Format de base de données (C:\test.xlsx) non reconnu"
    Si ton PC de chez toi est un Seven ou Vista, il pourrait peut-être s'agir d'un problème d' UAC.

    As-tu essayé de placer ton test.xlsx ailleurs ?

  3. #3
    Invité de passage
    Inscrit en
    juillet 2012
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : juillet 2012
    Messages : 8
    Points : 1
    Points
    1

    Par défaut

    bonsoir Buzz,

    En effet mon pc perso est un Seven, mais j'ai déja essayé de mettre le fichier ailleurs que sur le C:\ et ça ne marche pas non plus

  4. #4
    Membre Expert Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    août 2008
    Messages
    1 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : août 2008
    Messages : 1 527
    Points : 1 015
    Points
    1 015

    Par défaut

    As-tu vérifié la version entre tes deux ACE.OLEDB, n'y aurai-t-il pas de différence ?

    Parce que le message format non reconnu est généralement lié à une différence entre ce que la version d'Odbc doit lire et ce qu'il s’apprête à lire.

  5. #5
    Invité de passage
    Inscrit en
    juillet 2012
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : juillet 2012
    Messages : 8
    Points : 1
    Points
    1

    Par défaut

    hmmm, je sais que normalement pour se connecter à des bases Office 2007 ou inférieur, il faut utiliser le provider Microsoft.ACE.OLEDB.12.0, et c'est ce que j'ai fait.
    la je viens d'essayer avec Microsoft.Jet.OLEDB.4.0, ca me donne exactement la même erreur

  6. #6
    Membre Expert Avatar de BuzzLeclaire
    Homme Profil pro
    Dev/For/Vte/Ass
    Inscrit en
    août 2008
    Messages
    1 527
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev/For/Vte/Ass

    Informations forums :
    Inscription : août 2008
    Messages : 1 527
    Points : 1 015
    Points
    1 015

    Par défaut

    Citation Envoyé par DAEM86 Voir le message
    la je viens d'essayer avec Microsoft.Jet.OLEDB.4.0, ca me donne exactement la même erreur
    La c'est normale puisque le driver ODBC JET 4.0 ne reconnait pas les fichiers xlsx et encore moins les accdb.
    D'où ma remarque si tu tombe sur cette erreur des différences doivent exister entre l'ODBC ACE d'un poste à l'autre !

    Le plus étranger tu dis pouvoir ouvrir le fichier manuellement... peux-tu mettre ici ta procédure ADOconnection ?

  7. #7
    Invité de passage
    Inscrit en
    juillet 2012
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : juillet 2012
    Messages : 8
    Points : 1
    Points
    1

    Par défaut

    Citation Envoyé par BuzzLeclaire Voir le message
    Le plus étranger tu dis pouvoir ouvrir le fichier manuellement... peux-tu mettre ici ta procédure ADOconnection ?
    tu parles bien de l' Adoconnection que je réussis sur le fichier Excel ?
    si oui c'est ça :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TForm1.Button2Click(Sender: TObject);
    begin
    adotable2.ConnectionString:= 'Provider=Microsoft.ACE.OLEDB.12.0;Data Source=d:\test.xlsx;Extended Properties=excel 12.0;Persist Security Info=False';
    adotable2.TableName:='[feuil1$]';
    adotable2.Active:=true;
    datasource2.DataSet:= adotable2;
    dbgrid2.DataSource:= datasource2;
    end;
    la connection vers le fichier Excel marche sans problème de cette façon. je n'ai aucune erreur.

    mais quand je le fais comme expliqué sur le premier post... ça marche pas

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •