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 StringGrid --> 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 StringGrid --> Access
    Bonjour

    voila je voudrais une fois que ma stringgrid est remplit de notes (notes d'éleves pour chaque matières) mettre ces notes dans une table NOTE dans acces en fonction de chaque n°eleve!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    var i : integer;
    begin
    for i:=1 to televe.RowCount do
    begin
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('insert into note (Francais, Maths, Hist-geo,LV1,SVT) in "C:\Documents and Settings\care.jf\Bureau\Brevet.mdb" select Francais=:fr, Maths=:mt, Hist-geo=:hg, LV1=:lv1, SVT=:svt  where ELENOET=:num');
    Adoquery1.Parameters.paramByName('fr').Value := televe.Cells[4,i];
    Adoquery1.Parameters.paramByName('mt').Value := televe.Cells[5,i];
    Adoquery1.Parameters.paramByName('hg').Value := televe.Cells[6,i];
    Adoquery1.Parameters.paramByName('lv1').Value := televe.Cells[7,i];
    Adoquery1.Parameters.paramByName('svt').Value := televe.Cells[8,i];
    ADOQuery1.Parameters.ParamByName('num').Value := televe.Cells[1,i];
    ADOQuery1.ExecSQL;
    pour l'instant il me donne l'erreur "erreur de syntaxe dans l'instruction INSERT INTO"
    merci d'avance ^^

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Je ferais plutot ceci: un classique INSERT INTO VALUES.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('insert into note (Francais, Maths, Hist-geo,LV1,SVT,ELENOET) in "C:\Documents and Settings\care.jf\Bureau\Brevet.mdb" values(:fr,:mt,:hg,:lv1,:svt,:num)');
    Adoquery1.Parameters.paramByName('fr').Value := televe.Cells[4,i];
    Adoquery1.Parameters.paramByName('mt').Value := televe.Cells[5,i];
    Adoquery1.Parameters.paramByName('hg').Value := televe.Cells[6,i];
    Adoquery1.Parameters.paramByName('lv1').Value := televe.Cells[7,i];
    Adoquery1.Parameters.paramByName('svt').Value := televe.Cells[8,i];
    ADOQuery1.Parameters.ParamByName('num').Value := televe.Cells[1,i];
    ADOQuery1.ExecSQL;
    @+ Claudius

  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
    Merci beaucoup

    mais j'ai drôle de probléme j'arrive a faire aucun insert dans ma table NOTE
    même si je met les même champs que dans la table eleve ca ne marche pas
    je ne sais vraiment pas prk car les tables sont tt les deux pareil et ca fonctionne avec eleve mais pas avec note :s

    si qq1 a une idée

  4. #4
    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
    N'aurais tu aps une clef sur un des champs qui n'autorise pas les doublons ?
    Modérateur Delphi

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

  5. #5
    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
    non je ne pensse pas car même quand je supprime ma table ELEVE est qu'il ne reste que la table NOTE
    ca ne fonctionne pas non plus .

  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
    delphi ne doit vraiment pas apprecier le mot "NOTE" car quand je change tt les nom de champs de ma table et que je met des choses totalement differentes dans ses nouveaux champs

    Héééééééé la c'est le drame !!!!! XD

    ca ne marche pas non plus

  7. #7
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Re,

    En fait j'ai du mal à comprendre ce que tu souhaites faire exactement.

    Tout d'abord, avec ton StringGrid tu saisis les notes pour chaque élève. Et ensuite (c'est là que j'ai du mal à comprendre) tu souhaites faire un INSERT dans la table NOTE en faisant un SELECT sur la table ELEVE.

    Quand mets-tu à jour les données dans la table ELEVE ?
    Quelles sont les clés primaires sur ces 2 tables ?

    @+ Claudius

  8. #8
    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
    1) pour te repondre cl@udius en fait j'ai :
    -2 fichier .mdb :
    -1er F_ele qui provien d'un fichier dbase avec une 100éne de champs concernat des éleves d'un collége.
    -2éme Brevet qui concier 2 tables :
    *une table eleve avec 4 champs directement repris de base F_ele
    *une table note pour chaque éleve posséde 1 note par matiére

    -je fait un lien entre les 2 tables de la base brevet grace au numero de l'éleve ELENOET

    et je voulais recopier encore une fois les numéro (déja copier dans eleve) dans la table note pour que la relation se face bien entre les 2 tables

    puis ensuite en fonction de chaque numéro on recopi les notes du stringgrid dans les champs approprié.


    2) encore plus bizard quand je créé une 3 éme tables cela fonction je vais finir par croire que delphi ne veut pas de ma table NOTE XD

  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
    bon voila mon insert into pour mettre mes numero d'éléves fonction bien
    mais du coup maintenant il ne faut pas que je fasse une inster into mais un UPDATE pour mettre mes notes de ma stringrid da ma table MATIERE (MATIERE est le nouveau nom de la table NOTE avec ce nom la ca marche bizard mais bon...)

    et on va dire que je suis entrain de tapé un carnage avec mon update jme mélange trop xD
    j'ai fait ca mais ca ne fonctionne pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    var i : integer;
    begin
    for i:=1 to televe.RowCount do
    begin
    ADOQuery1.SQL.Clear;
    ADOQuery1.SQL.Add('UPDATE matiere (Francais, Maths, Hist-geo, Lv1, Svt) in "C:\Documents and Settings\care.jf\Bureau\Brevet.mdb" set  Francais=:fr, Maths=:mt, Hist-geo=:hg, Lv1=:lv1, Svt=:svt WHERE elenoet=:num');
    Adoquery1.Parameters.paramByName('fr').Value := televe.Cells[4,i];
    Adoquery1.Parameters.paramByName('mt').Value := televe.Cells[5,i];
    Adoquery1.Parameters.paramByName('hg').Value := televe.Cells[6,i];
    Adoquery1.Parameters.paramByName('lv1').Value := televe.Cells[7,i];
    Adoquery1.Parameters.paramByName('svt').Value := televe.Cells[8,i];
    ADOQuery1.Parameters.ParamByName('num').Value := televe.Cells[0,i];
    ADOQuery1.ExecSQL;
    voila mon code un ptit coup de pouce me serait bien agréable ^^

  10. #10
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Re,

    Citation Envoyé par care
    j'ai fait ca mais ca ne fonctionne pas
    Tu as une erreur à l'exécution, et si oui laquelle ?

    @+

  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
    Erreur de syntaxe dans l'instruction UPDATE !!

    je doit pas marquer les bonnes choses dans le update('........')
    je sais pas trés bien comment le faire mon UPDATE pour qu'il parcour tt mon tableau et qu'il range les notes en fonction du num de l'éleve (ELENOET)

    j'ai fait le code si dessus mais je ne croit pas qu'ils soit trés bon :s

  12. #12
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Re,

    La syntaxe d'un UPDATE est plutôt celle-ci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    UPDATE matiere in "C:\Documents and Settings\care.jf\Bureau\Brevet.mdb"
    SET Francais=:fr, Maths=:mt, Hist-geo=:hg, Lv1=:lv1, Svt=:svt 
    WHERE elenoet=:num
    @+

Discussions similaires

  1. [Débutant] Transfert de données 'une base Access vers Excel
    Par sidisadmir dans le forum ADO.NET
    Réponses: 0
    Dernier message: 06/11/2013, 05h13
  2. [XL-2007] Transfert de données Excel vers access création de Doublons
    Par soumilo dans le forum Excel
    Réponses: 2
    Dernier message: 16/07/2012, 12h12
  3. Transfert de données EXCEL Vers Access
    Par Mon_ami dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 29/12/2010, 18h57
  4. Transfert de données excel vers access
    Par Isabelle27 dans le forum Access
    Réponses: 3
    Dernier message: 22/03/2007, 07h11
  5. transfert de données d'access vers excel
    Par courtial dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/04/2006, 16h16

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