سؤالي كالتالي في الجدول الكبير على الجانب الأيسر DBGRID
أقوم بعملية الحساب وتخرج عندي ثلاث نتائج
النتيجة الاولى في EDIT 1 وفيها المبلغ الإجملي خارج الرسم(الكمية ضرب السعر )
في الخانة الثانية الرسم على القيمة المضافة 7 بالمئة(ضرب T_V_A في المبلغ الإجملي المقابل لها )
مثلا في مثالنا (4688 ضرب0.07 )+(4688 ضرب0.07 )
في الخانة الثالثة الرسم على القيمة المضافة 71 بالمئة(ضرب T_V_A في المبلغ الإجملي المقابل لها )
مثلا في مثالنا (2424 ضرب0.17 )+(2424 ضرب0.17 )
المشكل في الخانة الثانية والثالثة
PHP كود :
procedure TForm16.Button1Click(Sender: TObject);
var x,y,z,a,b,c:integer; begin z:=0; ADOTable3.close; ADOTable3.open; while not ADOTable3.Eof do begin x:=ADOTable3.FieldByName('prix_P').Value ; y:=ADOTable3.FieldByName('quantite').Value; z:=z+(x*y); ADOTable3.Next; EDIT1.text:=FloatToStr(z); edit2.Text:=FloatToStr(z*0.07); end;
شكرا أخ مخلوف على الرد لكن مشكلتي في الفلترة الحقل tva
فان كانت 7 بالمئة يقوم بجمع نتائجها في الخانة 2
وان كانت 17 بالمئة يقوم بجمع نتائجها في الخانة 3
لم أوفق في كتابة الشرط داخل الحلقة
var x,y,z,a,b,c:real;
begin
z:=0;
ADOTable3.close;
ADOTable3.open;
while not ADOTable3.Eof do
begin
x:=ADOTable3.FieldByName('prix_P').Value ;
y:=ADOTable3.FieldByName('quantite').Value;
z:=z+(x*y);
ADOTable3.Next;
EDIT1.text:=FloatToStr(z);
if (ADOTable3.FieldByName('tva').Value)=0.07 then
edit2.Text:=FloatToStr(z*0.07)
else
edit3.Text:=FloatToStr(z*0.17);
DJILANI كتب :هذا الكود يقوم بأخد القيمة في الخانة الاولي edit1 ويضربها في 0,07 ويضعها في edit 2لم يقم بفلترة tva
السلام عليكم و رحمة الله تعالى و بركاته:
أخي ما فهمته هو أن الحقل TVA فيه قيمتان 7 أو 17 فإن كانت القيمة 7 يضرب القيمة الموجودة في الخانة 1 في 0.07 أما إن كانت القيمة 17 يضرب القيمة الموجودة في الخانة الأولى في 0.17.
جرب هذا الكود
procedure TForm16.Button1Click(Sender: TObject);
var x,y,z,a,b,c:real;
begin
z:=0;
ADOTable3.close;
ADOTable3.open;
while not ADOTable3.Eof do
begin
x:=ADOTable3.FieldByName('prix_P').Value ;
y:=ADOTable3.FieldByName('quantite').Value;
a:=ADOTable3.FieldByName('TVA').Value;
z:=z+(x*y);
EDIT1.text:=FloatToStr(z);
if (a=0.07) then
edit2.Text:=FloatToStr(z*0.07);
if (a=0.17) then
edit3.Text:=FloatToStr(z*0.17);
ADOTable3.Next;
end;
end;
var x,y,z,a,b,c:Real; begin z:=0; c:=0; ADOTable3.close; ADOTable3.open; while not ADOTable3.Eof do begin a:=ADOTable3.FieldByName('T_V_A').Value ; b:=ADOTable3.FieldByName('total_detail').Value; x:=ADOTable3.FieldByName('prix_P').Value ; y:=ADOTable3.FieldByName('quantite').Value; z:=z+(x*y); ADOTable3.Next;
if (ADOTable3.FieldByName('T_V_A').Value)=7 then begin c:=c+(a*b);