delphi4arab منتديات دلفي للعرب
كيف يتم ادراج (المبلغ) من جدول ثاني في التسجيل الأول ؟ - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : كيف يتم ادراج (المبلغ) من جدول ثاني في التسجيل الأول ؟ (/showthread.php?tid=4449)



كيف يتم ادراج (المبلغ) من جدول ثاني في التسجيل الأول ؟ - Bachirsoft - 12-08-2012

السلام عليكم
لدي جدول فيه : مبلغ أ - مبلغ ب = الباقي
المبلغ أ يتم كتابته يدويا
المبلغ ب يتم جلبه من جدول ثاني وبعدها يأخذ قيمت المبلغ المتبقي (الباقي)
علما ان كل تسجيل يتم حذف (مبلغ أ) مختلف عن الاخر

.jpg   Sans titre.jpg (الحجم : 11.64 ك ب / التحميلات : 43)
كيف يتم ادراج (المبلغ ب)من جدول ثاني في التسجيل الأول ؟
كيف يتم وضع الباقي في مكان (المبلغ ب ) ابتداءا من التسجيل الثاني ؟
وفي كل عملية ننقص (المبلغ أ) من (المبلغ ب )والحصول على (الباقي) ؟


كيف يتم ادراج (المبلغ) من جدول ثاني في التسجيل الأول ؟ - justnick - 12-08-2012

نفترض ان الجدول الذى يحمل القيمة النهائية يسمى 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"
وانظر ماذا ترى


كيف يتم ادراج (المبلغ) من جدول ثاني في التسجيل الأول ؟ - Bachirsoft - 13-08-2012

السلام عليكم
لقد أرفقة مثال واضح
لدينا :
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



كيف يتم ادراج (المبلغ) من جدول ثاني في التسجيل الأول ؟ - justnick - 13-08-2012

PHP كود :
procedure TForm1.TOperationAfterPost(DataSet: TDataSet);
begin
tmt
.FieldByName('mt').AsInteger:= tmt.FieldByName('mt').AsInteger -
                                     
TOperation.FieldByName('prix').AsInteger;

end; 
استخدم هذا الاجراء فى الحدث AfterPost للجدول toperation