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

Bases de données Delphi Discussion :

Application Excel et Access


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 90
    Points : 45
    Points
    45
    Par défaut Application Excel et Access
    salut à tous , j'ai trouvé ce code qui permet de exporter données d'un fichier excel vers une table d'access je l'ai modifié quand je compile rien ne s marche que dois je faire merci
    voila mon code si vous voulez m'aider à le corriger

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    procedure TForm1.Button3Click(Sender: TObject);
      var
      LAdoQueryExcel  : TADOQuery;
      LADOAccesCmd    : TADOCommand;
    begin
       LAdoQueryExcel:=TADOQuery.Create(nil);
       LADOAccesCmd:=TADOCommand.Create(nil);
    connection avec fichier access

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    LADOAccesCmd.ConnectionString:=Format('Provider=Microsoft.ACE.OLEDB.12.0;DataSource=D:\controle.mdb;','controle.mdb');
        LADOAccesCmd.Parameters.Clear;
        LADOAccesCmd.CommandText:='INSERT INTO CONT_HVBL (FACTURE,PHARMACIEN) VALUES (:FACTURE,:PHARMACIEN)';
        LADOAccesCmd.ParamCheck:=False;
    connection avec fichier excel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    LAdoQueryExcel.ConnectionString:='Provider=Microsoft.ACE.OLEDB.12.0;DataSource=D:\BL2602.XLS;';
            LAdoQueryExcel.ConnectionString:=Format('Provider=Microsoft.ACE.OLEDB.12.0;DataSource=D:\BL2602.XLS;Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=1"','BL2602.xls');
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    LAdoQueryExcel.SQL.Add('SELECT * FROM [Feuil1$]');
        LAdoQueryExcel.Open;
        while not  LAdoQueryExcel.eof do
        begin
          LADOAccesCmd.Parameters.ParamByName('FACTURE').Value := LAdoQueryExcel.FieldByname('N°BL').AsInteger;
          LADOAccesCmd.Parameters.ParamByName('PHARMACIEN').Value:= LAdoQueryExcel.FieldByname('Pharmacie').AsString;
          LADOAccesCmd.Execute;
          LAdoQueryExcel.Next;
        end;
       LAdoQueryExcel.Free;
         LADOAccesCmd.Free;
    end;
     
    end.

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Attention LADOAccesCmd.ParamCheck:=False; ne doit être utilisé uniquement si tu fais explicitement les CreateParam, ce que tu n'as pas fourni, je retirais cette ligne !

    Pourquoi ne pas utiliser deux TADOQuery ?
    TADOCommand est un plus pénible je crois !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ... ça ne marche pas ...
    Message d'Erreur ?
    Pas de Boucle ?



    Format sans %s ??? bizarre !
    je suppose que tu voulais écrire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    (*string*)NomDuFichier := 'D:\BL2602.xls'; // un TEdit ou OpenDialog pour fournir la valeur
     
    LAdoQueryExcel.ConnectionString := Format(
      'Provider=Microsoft.ACE.OLEDB.12.0;DataSource=%s;Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=1"',
      [NomDuFichier]
    );
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre du Club
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    90
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 90
    Points : 45
    Points
    45
    Par défaut
    j'ai effectué les modifications dont tu m'as conseillé mais les données ne sont pas transférées vers access , et quand je fais l'exécution de mon programme rien ne s'affiche ni message d'error ni exception..

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    As-tu regardé si il entre dans la boucle ?
    Tu utilise bien ExecSQL du TADOQuery pour ton INSERT
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Discussions similaires

  1. Réponses: 0
    Dernier message: 26/03/2014, 12h12
  2. [AC-2003] Open/Close Application Excel depuis Access
    Par Bobble dans le forum VBA Access
    Réponses: 2
    Dernier message: 06/07/2011, 15h43
  3. [VBA-E] Application Excel ou Access
    Par Observatoire dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/03/2006, 12h00
  4. insert entre excel et access
    Par patmich2 dans le forum ASP
    Réponses: 6
    Dernier message: 06/10/2004, 13h24
  5. Applications de reporting : Excel ou Access ?
    Par Aurelien38 dans le forum Access
    Réponses: 3
    Dernier message: 02/10/2003, 08h31

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