المشاركات : 111
المواضيع 41
:
: 29
الإنتساب : Apr 2011
السلام عليكم
لدي جدول فيه : مبلغ أ - مبلغ ب = الباقي
المبلغ أ يتم كتابته يدويا
المبلغ ب يتم جلبه من جدول ثاني وبعدها يأخذ قيمت المبلغ المتبقي (الباقي)
علما ان كل تسجيل يتم حذف (مبلغ أ) مختلف عن الاخر
Sans titre.jpg (الحجم : 11.64 ك ب / التحميلات : 43)
كيف يتم ادراج (المبلغ ب)من جدول ثاني في التسجيل الأول ؟
كيف يتم وضع الباقي في مكان (المبلغ ب ) ابتداءا من التسجيل الثاني ؟
وفي كل عملية ننقص (المبلغ أ) من (المبلغ ب )والحصول على (الباقي) ؟
المشاركات : 146
المواضيع 5
:
: 6
الإنتساب : Feb 2010
نفترض ان الجدول الذى يحمل القيمة النهائية يسمى table_1 والجدول الحالى يسمى table_2
جدول 2 او table 2 به الاعمدة qty_1 و qty_2 والnet_qty
سنعتد بشكل اساى على جمل ال sql
استخدم edit من اجل ادخال القيمة وفى الحدث onkeypress اكتب الاجرلء الاتى
"هذه مجرد طريقة "
PHP كود :
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
with ADOQuery1 do
begin
close;
sql.Clear;
sql.Text:='select net_qty from table_1';
open;
end;
with ADOQuery2 do begin
close;
sql.Text:='insert into table_2 (qty_1,qty_2,net_qty) values ('+
QuotedStr(edit1.Text)+','+
QuotedStr(ADOQuery1.FieldByName('net_qty').AsString)+','+
QuotedStr(floattostr(ADOQuery1.FieldByName('net_qty').Asfloat - strtofloat(Edit1.Text)))+')';
sql.Add('update table_1 set net_qty ='+
QuotedStr(floattostr(ADOQuery1.FieldByName('net_qty').Asfloat - strtofloat(Edit1.Text)))) ;
ExecSQL;
end;
end;
end;
ادخل قيمة ثم اضغط على انتر "Enetr key =#13"
وانظر ماذا ترى
المشاركات : 111
المواضيع 41
:
: 29
الإنتساب : Apr 2011
السلام عليكم
لقد أرفقة مثال واضح
لدينا :
reste = MT-Prix
والمطلوب هو :
في التسجيل الأول MT تأخذ قيمة المبلغ MT الموجود في الجدول 2 (Table2)
التسجيلات الأخرى MT يأخذ قيمة Reste.
وأن يأخذ قيمة 12800 عوض من 13000 في السطر الثاني
كود :
http://im18.gulfup.com/2012-08-13/1344876394962.jpg
و هذا هو الملف
كود :
http://www.gulfup.com/X34szexy05a044s
المشاركات : 146
المواضيع 5
:
: 6
الإنتساب : Feb 2010
PHP كود :
procedure TForm1.TOperationAfterPost(DataSet: TDataSet);
begin
tmt.FieldByName('mt').AsInteger:= tmt.FieldByName('mt').AsInteger -
TOperation.FieldByName('prix').AsInteger;
end;
استخدم هذا الاجراء فى الحدث AfterPost للجدول toperation