1 pièce(s) jointe(s)
Requêtes SQL avec TurboDB
Salut tout le monde
Voilà, je suis débutant en delphi
Je développe une application (Gestion des archives administratif),j'utilise TurboDB comme SGBD, mon MCD est le suivant :
Table 1 : TArchive (Id_arch, libelle_arch, rayonnage, etage_ray, num_boite_arch, date_archivage, duree_vie, scan_arch, observation, id_type_arch, id_dir, id_salle, id_etat_arch, id_langue_arch)
Table 2 : T Directions (id_dir, libelle_dir)
Table 3 : TSalles_archives (id_salle, num_salle_arch, surface_salle, etage_salle)
Table 4 : TEtat_arch (id_etat_arch, etat_arch)
Table 5 : TLangue_ arch (id_langue_arch, langue_arch)
Table 6 : Ttypes_archives (id_type_arch, des_type_arch)
Ce que je veux exactement c'est : Avec SQL : Quand je click sur le bouton "Valider", mon DBGRID affiche un résultat qui englobe tous les champs qui en été remplis dans mes champs de saisies (voir la photo), sachant que certain champs viens de plusieurs tables déférentes,
Voici mon capture d'écran.
Pièce jointe 184519
Et merci d’avance…
j'atend toujours votre aide
1 pièce(s) jointe(s)
un autre message d'erreur!!
Bonjour;
Merci SergioMaster pour le nouveau style,
c'est vrais, c'est les noms des tables qui en été fausses, et après la correction de ces noms, j'ai pu retirer l’ancien message d’erreur………….mais ! un autre apparait.
Voici le nouveau code :
Code:
1 2 3 4 5 6 7 8 9 10 11
| TdbQuery1.close;
TdbQuery1.UnPrepare;
TdbQuery1.SQL.text:='Select a.libelle_arch, a.rayonnage, a.etage_ray, a.num_boite_arch, a.date_archivage, a.duree_vie, a.scan_arch, a.type_interet,';
TdbQuery1.SQL.text:=TdbQuery1.SQL.text+ 'D.libelle_dir, E.etat_arch, L.langue_doc, T.des_type_arch, S.num_salle_arch, s.surface_salle, s.etage_salle from archive a';
TdbQuery1.SQL.text:=TdbQuery1.SQL.text+'LEFT JOIN directions D ON a.id_dir=D.id_dir LEFT JOIN etat_arch E ON a.id_etat_arch=E.id_etat_arch LEFT JOIN Langue_docum L';
TdbQuery1.SQL.text:=TdbQuery1.SQL.text+'ON a.id_langue_arch =L.id_langue_arch LEFT JOIN salles_archives S ON a.id_salle=S. id_salle LEFT JOIN types_archives T ON a.id_type_arch=T.id_type_arch';
TdbQuery1.SQL.Add('WHERE 1=1'); // Add attend une chaîne en paramètre ; il suffisait d'ajouter les quotes
If length(nomdirectionEdit.text)>0 then TdbQuery1.sql.add('AND Libelle_dir = :Dir');
TdbQuery1. Prepare ;
If length(nomdirectionEdit.text)>0 then TdbQuery1.paramByName('Dir').asString :=nomdirectionEdit.text;
TdbQuery1.Open; |
Et voici le nouveau message d’erreur :
Pièce jointe 185594
désolé pour le dérangement, mais je veux vraimant terminer mon programme.
Salutations...