salam

j'ai un problème avec les requête imbriqué ... pour commencer j'exécute une requête et ensuite avec le résultat de cette dernière j'exécute une nouvelle requête ... je vais vous exposez mon code pour éclairé mieux mon problème.
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
procedure TProduction.cxButton9Click(Sender: TObject);
begin
with rebutpre do
  begin
    sql.Clear  ;
    sql.Add('SELECT Production.Num_Post, Production.Produit, Production.Date1, Sum(Production.Qte_Real) AS sqr, Sum(Production.Qte_Rebut) AS sr, Sum(Production.Qte_NC) AS sNC, Sum(Production.Qte_Testé) AS sqt');
    sql.Add('FROM Production');
    sql.Add('WHERE Production.Date1 Between :pre And :pre1');
    Parameters.CreateParameter('pre', ftstring, pdInput, 0,  StrToDate(pre.Text));
    Parameters.CreateParameter('pre1', ftstring, pdInput, 0, StrToDate(pre1.Text));
    sql.Add('GROUP BY Production.Num_Post, Production.Produit, Production.Date1');
    sql.Add('ORDER BY Production.Date1');
 
    Open;
 
  end;
 with rebutpreposte do
  begin
 
    sql.Clear  ;
    sql.Add('SELECT Sum(ppm.sqr) AS Ssqr, Sum(ppm.sr) AS Ssr, Sum(ppm.sNC) AS SsNC, Sum(ppm.sqt) AS Ssqt');
    sql.Add('FROM (SELECT Production.Num_Post, Production.Produit, Production.Date1, Sum(Production.Qte_Real) AS sqr, Sum(Production.Qte_Rebut) AS sr, Sum(Production.Qte_NC) AS sNC, Sum(Production.Qte_Testé) AS sqt FROM Production '+'WHERE (((Production.Date1) Between #1/22/2013# And #1/29/2013#))GROUP BY Production.Num_Post, Production.Produit, Production.Date1;)');
    Parameters.CreateParameter('pre', ftstring, pdInput, 0,  StrToDate(pre.Text));
    Parameters.CreateParameter('pre1', ftstring, pdInput, 0, StrToDate(pre1.Text));
 
 
    Open;
   end;
end;
* la première requête s'exécute le plus normalement du monde mai la deuxième me sort une erreur "objet parameter défini de manière incorrect . des informations incohérentes ou incomplètes ont été fournies" . je vois pas pourquoi il accepte les paramètres dans la première requête et non pour la deuxième .

* j'aimerai bien apprendre une nouvelle méthode comme avoir le résultat du text sql et le sauvegarder dans une variable et ensuite utilisé cette variable directement dans la clause from j'ai essayé avec ou mais il me donne pas le résultat final du sql mais il me donne plutôt
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
"SELECT Production.Num_Post, Production.Produit, Production.Date1, Sum(Production.Qte_Real) AS sqr, Sum(Production.Qte_Rebut) AS sr, Sum(Production.Qte_NC) AS sNC, Sum(Production.Qte_Testé) AS sqt
FROM Production
WHERE (((Production.Date1) Between :pro And :pro1))
GROUP BY Production.Num_Post, Production.Produit, Production.Date1;"
et moi ce que je cherche : si par exemple mon pre.text := 1/01/2013 et mon pre1:= 1/02/2013 j'aurai ce résultat
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT Production.Num_Post, Production.Produit, Production.Date1, Sum(Production.Qte_Real) AS sqr, Sum(Production.Qte_Rebut) AS sr, Sum(Production.Qte_NC) AS sNC, Sum(Production.Qte_Testé) AS sqt
FROM Production
WHERE (((Production.Date1) Between #1/01/2013# And #2/01/2013#))
GROUP BY Production.Num_Post, Production.Produit, Production.Date1;
- une petite précision j'utilise access comme base de données .

voila j’espère trouver une solution plus pratique parce-que j'utilise beaucoup ce genre de requête sql et j'aunai mare de tapé a chaque foi la requête a la main et merci d'avance .