Bonjour TLM

pour une table qui contient des données je veux affecté a mes variables des résultats de requêtes alors que pour chaque requête je veux pas répeter la condition avec Where puisque c'est la même pour chaque requête, je fais deux select et je sais que ca marche pas mais je vais vous données mon code pour mieux comprendre.

PS : je tire des données en bouclant sur query1

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
        [size=7] 
         nv := query1.FieldByName('EXNV').AsString;
         orig := query1.FieldByName('EXORIG').AsString;
         dest := query1.FieldByName('EXDEST').AsString;
         query2.Close  ;
         query2.sql.clear;
         query2.sql.Add('Select count(*) As valmvt From  EXPL');
         query2.sql.Add('Select SUM(SUMV) As offre From EXPL');
         query2.sql.Add('Where EXDAT>=(:dat_d) and EXDAT<=(:dat_f) and EXNV=(:numv) and EXORIG=(:org) and EXDEST=(:dst) ') ;
 
         If (vrso <> '') Then  Begin
                               query2.sql.add(' and EXRSO=(:z) ');
                               query2.ParamByName('z').AsString := vrso;
                               End;
         If (vrsd <> '') Then  Begin
                               query2.sql.add(' and EXRSD=(:t) ');
                               query2.ParamByName('t').AsString := vrsd;
                               End;
         If (vtyp <> '') Then  Begin
                               query2.sql.add(' and EXTYP=(:n) ');
                               query2.ParamByName('n').AsString := vtyp;
                               End;
         If (vav <> '') Then  Begin
                              query2.sql.add(' and EXEQ=(:o) ');
                              query2.ParamByName('o').AsString := vav;
                              End;
         query2.ParamByName('dat_d').AsDateTime := strtodate(datd);
         query2.ParamByName('dat_f').AsDateTime := strtodate(datf);
         query2.ParamByName('numv').AsString := nv;
         query2.ParamByName('org').AsString := orig;
         query2.ParamByName('dst').AsString := dest;
         query2.Active := True;
         mvt := Query2.Fieldbyname('valmvt').AsInteger;
         ofr := Query2.Fieldbyname('offre').AsInteger;
         datamodule2.Tetatsperchgtnvol.Insert;
         datamodule2.TetatsperchgtnvolNVOL.Value := nv;
         datamodule2.TetatsperchgtnvolORIG.Value := orig;
         datamodule2.TetatsperchgtnvolDEST.Value := dest;
         datamodule2.TetatsperchgtnvolMVT.Value := mvt;
         datamodule2.TetatsperchgtnvolOFFRE.Value := ofr
;[/size]