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

Lazarus Pascal Discussion :

Affichage de deux tables liées dans un DBGrid [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Juillet 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 2
    Par défaut Affichage de deux tables liées dans un DBGrid
    Bonjour,

    Avant tout, je souhaite à toutes et tous une très bonne année 2011.

    Je n'arrive pas à afficher le contenu de deux tables liées dans un DBGrid.
    Je m'explique ; j'ai par exemple deux tables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    	table1
    id_TABLE1   NOM   lien_id_TABLE2
     
    	Table2
    id_TABLE2   GROUPE
    Je voudrais avoir dans mon DBGrid :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    id_TABLE1   NOM   lien_id_TABLE2   id_TABLE2   GROUPE
    Pour cela, j'ai créé :
    - un ZConnexion avec Zeos sur une base SQLite-3
    - un ZQuery1 avec SQL= SELECT * FROM table1
    - un Datasource1 avec DataSet= ZQuery1
    - un ZQuery2 avec SQL= SELECT * FROM table2
    MasterSource= Datasource1
    MasterFields= id_TABLE1
    - un Datasource2 avec DataSet= ZQuery2
    Mais tout les champs ne s'affichent pas !

    J'ai aussi essayé de mettre une requette SQL de type :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM table1,table2 WHERE table1.lien_id_TABLE2=table2.id_TABLE2
    Mais Zquery ne semble pas accepter WHERE...

    Quelle est la bonne démarche pour afficher l'ensemble des champs ?

    Merci pour votre aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Pour les Tables, supposons
    Table1
    ID1, NOM1,ID2
    Table2
    ID2,NOM2

    La requête
    SELECT t1.ID1, t1.NOM1, t2.NOM2 FROM Table1 t1, Table2 t2 WHERE (t1.ID2 = t2.ID2);

    Les composants
    ZConnect1+ZQuery1+DataSource+dbGRID

    Le Code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    if zConnect1.Connected then zConnect1.Disconnect;
    {Eventuellement si pas défini dans l'Inspecteur d'objet
    ZQuery1.Connection := Zconnect1;
    DataSource1.Dataset := ZQuery1;
    dbGrid1.Datasource := ZQuery1;}
     
    Zquery1.SQL.Clear;
    ZQuery1.SQL.Add := 'SELECT t1.ID1, t1.NOM1, t2.NOM2 FROM Table1 t1, Table2 t2 WHERE (t1.ID2 = t2.ID2);';
     
    try
     Zconnect1.Connect;
     ZQuery1.Open;
    except
    end;
    Remarque : Les valeurs des clés étrangères utilisées dans Table1 doivent TOUTES exister dans Table2 sinon la dbGrid restera vide...

    Cordialement. Gilles

  3. #3
    Candidat au Club
    Inscrit en
    Juillet 2005
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 2
    Par défaut
    Merci beaucoup pour cette réponse précise qui fonctionne parfaitement.

    Je me suis perdu dans la syntaxe SQL, pourtant la requette que je rentrais fonctionne dans SQLITE Administrator par exemple.

    Merci de m'avoir aidé.

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

Discussions similaires

  1. problème insertion dans deux tables liées
    Par ryassinne dans le forum MySQL
    Réponses: 6
    Dernier message: 07/05/2010, 16h58
  2. affichage de deux tables dans un datagrid
    Par atifo dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 09/06/2009, 13h39
  3. ajout données dans deux tables liées
    Par nat2814 dans le forum IHM
    Réponses: 2
    Dernier message: 20/03/2009, 14h19
  4. ajout données dans deux tables liées
    Par nat2814 dans le forum IHM
    Réponses: 1
    Dernier message: 27/02/2009, 20h54
  5. [MySQL] Insertion dans deux tables liées
    Par franxi dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 19/06/2008, 21h22

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