[MsSql-Rad_Studio]Simplifier une commande MsSql
Bonjour
Un autre question simple pour vous mais difficile pour moi
Comment simplifier cette commande, ca fonctionne bien mais .......
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
//CALCUL MAX DATE
MSQuery7.Active:=False;
MSQuery7.SQL.text:='SELECT MIN(D_DATE) AS MINDATE FROM BILLET where d_payer LIKE :T';// order by D_CODE,d_date,d_coupon1';
MSQuery7.ParamByName('T').AsString := '%'+ERECFACT.Text+'%';
MSQuery7.Active:=True;
mindat:=MsQuery7.fieldbyname('mindate').asSTRING;
//CALCUL MAX DATE
MSQuery7.Active:=False;
MSQuery7.SQL.text:='SELECT MAX(D_DATE) AS MAXDATE FROM BILLET where d_payer LIKE :T';// order by D_CODE,d_date,d_coupon1';
MSQuery7.ParamByName('T').AsString := '%'+ERECFACT.Text+'%';
MSQuery7.Active:=True;
maxdat:=MsQuery7.fieldbyname('maxdate').asSTRING;
//PREPARE RAPPORT
MSQuery7.Active:=False;
MSQuery7.SQL.text:='SELECT * FROM BILLET where d_payer LIKE :T order by D_CODE,d_date,d_coupon1';
MSQuery7.ParamByName('T').AsString := '%'+ERECFACT.Text+'%';
MSQuery7.Active:=True;
CONTRACTEUR_NO:=MsQuery7.fieldbyname('D_CONTRAC').asSTRING +' --> '+'FACTURE NO ='+ MsQuery7.fieldbyname('D_PAYER').asSTRING;
REQ_NO:=MsQuery7.fieldbyname('D_NOCONT').asSTRING;
CONTRACTEUR_COD:= MsQuery7.fieldbyname('D_CODE1').asSTRING; |
Le premier select cherche a trouver le min de la date
le second select cherche a trouver le max de la date
le troisieme select préparer les données mon rapport
Il doit avoir un mpoyen de simplifier ca
Merci
Mario
[MsSql-Rad_Studio]Simplifier une commande MsSql
Merci a vous deux
J'ai essayé vos exemples et ca fonctionne très biens.
J'ai opté pour la deuxième solution de ShaiLeTroll.
Pour information supplémentaire j'utilise Sdac de devart et Mssql server 2017 avec Rad Studio 10.2.3.
Merci Je continue d'apprendre le fonctionnement des commandes en Mssql en l'intégrant a mon programme. il n'est j'amais trop tard pour apprendre.
Bonne journée
Mario