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 :

Transfert de données entre 2 bases Access


Sujet :

Bases de données Delphi

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 108
    Points : 77
    Points
    77
    Par défaut Transfert de données entre 2 bases Access
    bonjour voila je démar une nouvel application qui complétera la 1er (pour ce qui ont suivit le cour de mais probléme )
    "ma tstringgrid s'appel televe"

    alors voila je met dans un Tstringgrid les informations que je selectionne grace a mon 1er adoconnection (je selectionne 3 champs parmit une 100éne dans la 1er table)
    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
    18
     
    procedure TForm1.Button1Click(Sender: TObject);
    var i : integer;
    begin
    ADOQuery1.sql.clear;
    ADOQuery1.sql.add('select elenoet ,elenom, elepre from F_ele ');
    //Adoquery1.Parameters.paramByName('classe').Value := Edit1.Text;
    ADOQuery1.Open;
     
    for i:=0 to ADOQuery1.RecordCount do
    begin
    televe.Cells[0,i] := ADOQuery1.FieldByName('elenoet').AsString;
    televe.Cells[1,i] := ADOQuery1.FieldByName('elenom').AsString;
    televe.Cells[2,i] := ADOQuery1.FieldByName('elepre').AsString;
    ADOQuery1.Next;
    televe.RowCount:= ADOQuery1.RecordCount + 1;
    end;
    end;


    ensuite je veut passé ces donné qui sont dans mon tstringgrid(televe) dans ma nouvelle base de donné (ma nouvelle base de donné est préte a recevoir c'est 3 champs)
    j'esseille de les mettre comme ceci met sans succes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ADOQuery2.SQL.Clear;
    ADOQuery2.sql.add('insert into eleve (ELENOET,ELENOM,ELEPRE)');
    ADOQuery2.SQL.Add('values (:num,:nom,:prenom)');
    Adoquery2.Parameters.paramByName('num').Value :=televe.Cells[0,0];
    Adoquery2.Parameters.paramByName('nom').Value :=televe.Cells[1,0];
    Adoquery2.Parameters.paramByName('prenom').Value :=televe.Cells[2,0];
    ADOQuery2.ExecSQL;
    biensur il me manque une boucle pour parcourir tout mon tableau met la non plus je ne sais pas ou la placer :s

    Voila si vous pouviez me filler un petit coup de pouce ca serait simpa ^^
    merci d'avance !!!

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Tu n'as pas besoin d'avoir 2 adoconnexion pour transférer des données entre 2 tables Access (en plus elles ont les même nom de champs ^^)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    select elenoet ,elenom, elepre into eleve in 'Le_Chemin_de_la_table_destination\Le_nom_de_la_base' 
     from F_ele
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 108
    Points : 77
    Points
    77
    Par défaut
    arrrfffff je galére un peut :s

    quand je met :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('select elenoet ,elenom, elepre into eleve in C:\Documents and Settings\care.jf\Bureau\Brevet.mdb from F_ele');
    ADOQuery1.Open;
    dans le onclick d'un bouton sa me met

    objet parameter défini de manière incorecte .des information incohérente ou incompatible on étè fournies
    :s je le plance petétre mal ou des ' manque ??

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 108
    Points : 77
    Points
    77
    Par défaut
    Quand je l'écrit comme ceci avec les " " en plus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('select elenoet ,elenom, elepre into eleve in "C:\Documents and Settings\care.jf\Bureau\Brevet.mdb" from F_ele');
    ADOQuery1.ExecSQL;
    le message d'erreur est
    La table eleve existe déjà
    c'est suspi

  5. #5
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Cette méthode créer automatiquement la table dans l'autre base de données (j'avais oublié ca fait longtemps que je ne l'avais aps utiliser celle la )

    Sinon utlise celle la (attention s'il y a des doublons ca annule l'insertion)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    insert into eleve (elenoet ,elenom, elepre) in "C:\Documents and Settings\care.jf\Bureau\Brevet.mdb)
    Select elenoet ,elenom, elepre from F_ele
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 108
    Points : 77
    Points
    77
    Par défaut
    Ralalalala Merci beaucoup malatar

    j'arrive avec la premier methode (en créent la table)

    masi avec la seconde
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('insert into eleve (elenoet ,elenom, elepre) in "C:\Documents and Settings\care.jf\Bureau\Brevet.mdb") Select elenoet ,elenom, elepre from F_ele');
    ADOQuery1.ExecSQL;
    il me dit "ereure de syntaxe dans l'instruction insert into"
    dsl si jsuis un peut chiant ^^

    merci pour ton aide:p

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 108
    Points : 77
    Points
    77
    Par défaut
    Ralalalala Merci beaucoup malatar

    j'arrive avec la premier methode (en créent la table)

    masi avec la seconde
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('insert into eleve (elenoet ,elenom, elepre) in "C:\Documents and Settings\care.jf\Bureau\Brevet.mdb") Select elenoet ,elenom, elepre from F_ele');
    ADOQuery1.ExecSQL;
    il me dit "ereure de syntaxe dans l'instruction insert into"
    dsl si jsuis un peut chiant ^^

    merci pour ton aide:p

  8. #8
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    tu as une paranthèse en trop juste après le 2em "
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 108
    Points : 77
    Points
    77
    Par défaut
    Haaaa ca marche trop bien ^^ merci malatar

    on peut faire le même avec un UP DATE ??
    a mon avis oui ^^
    encore merci maitre malatar

  10. #10
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Citation Envoyé par care
    on peut faire le même avec un UP DATE ??
    Joker

    Mais en réflechissant un peu, je ne pense pas qu'on puisse le faire, car les update ne gère pas les sous requetes.
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 108
    Points : 77
    Points
    77
    Par défaut
    c'est trop bizard !!!!!!!

    quand je fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('insert into eleve (elenoet ,elenom, elepre, endivcod) in "C:\Documents and Settings\care.jf\Bureau\Brevet.mdb" Select elenoet ,elenom, elepre, endivcod from F_ele');
    ADOQuery1.ExecSQL;
    mon programme fonctionne et ajoute bien tt se que je veut dans ma nouvelle table
    mais quand je change juste eleve par note (une autre table qui posséde exactement les même champs dont juste le nom change ) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('insert into note (elenoet ,elenom, elepre, endivcod) in "C:\Documents and Settings\care.jf\Bureau\Brevet.mdb" Select elenoet ,elenom, elepre, endivcod from F_ele');
    ADOQuery1.ExecSQL;
    ca ne fonctionne pas il me dit que j'ai une érreur de syntaxe dans INSERT INTO !!!

    je ne voit vraiment pas prk ca ne fonctionne pas pour les 2.
    help me pls

Discussions similaires

  1. Gérer l'import/Export de données entre 2 base ACCESS
    Par DanaX dans le forum VBA Access
    Réponses: 2
    Dernier message: 15/11/2007, 15h18
  2. Transfert de données entre deux bases
    Par RTDanjou dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 09/03/2007, 15h53
  3. AdoQuery:Transfert d'enregistrements entre deux bases access
    Par jnc dans le forum Bases de données
    Réponses: 8
    Dernier message: 28/01/2006, 13h39
  4. Réponses: 5
    Dernier message: 30/11/2005, 16h41
  5. Réponses: 2
    Dernier message: 21/10/2005, 17h02

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