A voir également:
- Afichage des champs significatifs dans un DbGrid...?
- Word mettre à jour tous les champs ✓ - Forum Word
- Champs calculé tcd formule si - Forum Excel
- Comme des enfants signification ✓ - Forum Musique / Radio / Clip
- Signification des icônes sur téléphone portable doro - Forum Autres téléphones & tablettes
- Word : Mise à jour des champs - Forum Word
3 réponses
Salut
Du fait qu'une grille orientée données est liée à un seul Data Source qui connecte la grille à une seule Table ou un seul Query, tu ne peux pas appliquer une requête portant sur plus d'une Tables avec un Query lié à une seule Table.
Je pense que tu dois replonger à bien manipuler les données sur une seule Table, cela t'aiderai à affronter Les Tables Maitres Détails, c'est avec une table maitre détail (Master Table) que tu arrives à effectuer des requêtes sur plusieurs tables avec un seul Query et une seule Grille, d'ou ton problème.
Bon courage
Du fait qu'une grille orientée données est liée à un seul Data Source qui connecte la grille à une seule Table ou un seul Query, tu ne peux pas appliquer une requête portant sur plus d'une Tables avec un Query lié à une seule Table.
Je pense que tu dois replonger à bien manipuler les données sur une seule Table, cela t'aiderai à affronter Les Tables Maitres Détails, c'est avec une table maitre détail (Master Table) que tu arrives à effectuer des requêtes sur plusieurs tables avec un seul Query et une seule Grille, d'ou ton problème.
Bon courage
Bonjour,
Merci metarefsalem pour la réponce;
j'ai fait ça ( code pour mon boutton Filtrer)
begin
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');
If length(Edit2.text)>0 then TdbQuery1.sql.add('AND rayonnage=:ray');
TdbQuery1.Prepare;
If length(Edit2.text)>0 then TdbQuery1.paramByName('ray').asString:=Edit2.text;
TdbQuery1.Open;
If length(Edit3.text)>0 then TdbQuery1.sql.add('AND num_boite_arch=:numb');
TdbQuery1.Prepare;
If length(Edit3.text)>0 then TdbQuery1.paramByName('numb').asString:=Edit3.text;
TdbQuery1.Open;
end;

Mais Mon DBGRID ne change pas, mème pas une erreur !
Qu'est-ce que je dois faire pour résoudre mon probléme... et merci
Merci metarefsalem pour la réponce;
j'ai fait ça ( code pour mon boutton Filtrer)
begin
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');
If length(Edit2.text)>0 then TdbQuery1.sql.add('AND rayonnage=:ray');
TdbQuery1.Prepare;
If length(Edit2.text)>0 then TdbQuery1.paramByName('ray').asString:=Edit2.text;
TdbQuery1.Open;
If length(Edit3.text)>0 then TdbQuery1.sql.add('AND num_boite_arch=:numb');
TdbQuery1.Prepare;
If length(Edit3.text)>0 then TdbQuery1.paramByName('numb').asString:=Edit3.text;
TdbQuery1.Open;
end;

Mais Mon DBGRID ne change pas, mème pas une erreur !
Qu'est-ce que je dois faire pour résoudre mon probléme... et merci