c'est pas une simple facture
on n'a certainement pas la même conception d'une facture , je n'ose te présenter l'édition des miennes (sachant qu'en plus , je fais non pas facture par facture mais bien l'edition d'un ensemble de factures)
je ne vois pas la liaison code_s_a dans les requêtes indiquéesles deux requêtes sont liées à deux QRDBTEXT1 (code_article) et QRDBTEXT(code_s_a) ;
je ne travaille pratiquement plus qu'avec des requêtes maintenantdonc je ne travaille pas sur des tableau (ADOTABle) je travaille sur des requêtes
après tout une table n'est qu'un SELECT .. FROM TABLE sans WHERE
Deux solutions sont possibles :
un Quickreport Détail avec un QRGroup
QRGROUP sur CODE_CHAPITRE
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 SELECT B.dateBP,B.code_chapitre,B.code_article,B.code_s_a, B.BA_SACHAP,B.BS_SACHAP ,C.nom_chap,C.nom_article,C.BA,C.BS,C.code_cpt FROM budgetSAChap B JOIN ON B.Code_Chapitre=C.Code_chapitre And b.Code_Article=c.CodeArticle AND B.DateBP=C.DateBP WHERE code_article <>'850' AND B.Code_chapitre=:C AND B.DateBP:=D // repris de Query Maitre order by B.code_chapitre,B.code_article,B.dateBP
ou la solution (beaucoup moins élégante) Maitre/Détail
QMaitre
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 select * from budgetChapitre where code_chapitre = :c and dateBP = :d and code_article <>'850' order by code_article , code_cpt
QDetail (avec datasource=QMaitre)
Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT * FROM from budgetSAChap where code_chapitre = :codechapitre and dateBP = :datebp and code_article = :code_article
et dans le BeforePrint de la Bande Détail (précaution car je ne suis pas sur que cela soit nécessaire)
et voilà
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 begin QDetail.Active:=False; QDetail.Active:=True; end;
Partager