J'ai une table qui est rempli Avec l'aide du code ci-dessous :
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 datas.Table14.First; trouver:=false; while not (datas.Table14.Eof) do begin if datas.Table14.FieldByName('ref_prod').asinteger=datas.table1.FieldByName('ref_prod').AsInteger then trouver:=true; datas.Table14.Next; end; if trouver then ShowMessage('La liste des pré-préparés') else begin datas.table1.First; while not (datas.table1.Eof) do begin datas.Table14.Append; datas.Table14.fieldbyname('ref_prod').asinteger:=datas.table1.fieldbyname('ref').AsInteger; datas.Table14.fieldbyname('designation').AsString:=datas.table1.fieldbyname('designation').AsString; datas.Table14.fieldbyname('Nn').asfloat:=datas.table1.fieldbyname('NN').Asfloat; datas.Table14.fieldbyname('reper').AsString:=datas.table1.fieldbyname('reper').AsString; datas.Table14.fieldbyname('Unit').AsString:=datas.table1.fieldbyname('Type_p').AsString; datas.Table14.fieldbyname('code_detai').asinteger:=fiche_vente.table1.fieldbyname('ref_v').AsInteger; datas.Table14.fieldbyname('empl').AsString:=datas.table1.fieldbyname('empl').AsString; //quantite a livrer************************************************** datas.Table14.fieldbyname('qte_a_alivr').asfloat:= fiche_vente.Table1.FieldByName('s_1').Asfloat*datas.table15.FieldByName('s_1').Asfloat+ fiche_vente.Table1.FieldByName('s_2').Asfloat*datas.table15.FieldByName('s_2').Asfloat+ fiche_vente.Table1.FieldByName('s_3').Asfloat*datas.table15.FieldByName('s_3').Asfloat+ fiche_vente.Table1.FieldByName('s_4').Asfloat*datas.table15.FieldByName('s_4').Asfloat+ fiche_vente.Table1.FieldByName('hs_4').Asfloat*datas.table15.FieldByName('Hts_4').Asfloat; //le pois a livrer************************************************** datas.Table14.fieldbyname('poid_a_livr').asfloat:= round(((fiche_vente.Table1.FieldByName('s_1').Asfloat*datas.table15.FieldByName('s_1').Asfloat)*datas.table15.FieldByName('poid').Asfloat)+ ((fiche_vente.Table1.FieldByName('hs_4').Asfloat*datas.table15.FieldByName('Hts_4').Asfloat)*datas.table15.FieldByName('poid').Asfloat) / 1000); datas.table14.Post; datas.table1.Next; end; end;
pour sélectionner les produits de la liste qui ont a la référence de 1 à 10, par exemple ,J'ai mis ce code suit dans une query:
Le problème est qu'ils ne sélectionnent que les valeurs correspondantes des deux conditions,
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 select ref_aff_v,ref_prod,nn,reper,designation,empl,qte_a_alivr,poid_a_livr from detaille_aff_v where (ref>=:a)and(ref<:=b)
Ne pas sélectionner l'intervalle entre la valeur des deux conditions.
Pour expliquer :
Je veux sélectionner les produits de la liste qui ont un code de 1 à 10, par exemple, et de calculer le poids
Est-ce possible avec l'aide d'une seule requête.
Partager