الحفظ في قاعدة البيانات
#1
السلام عليكم أفيدونا مما جادت به عقولكم

مشكلة في الحفظ
dbcombobox1 قيم (تكليف بالحضور و استدعاء ،إنذار،.....)
dbcombobox2 قيم من 1إلى 100
dbcombobox6 قيم من 1إلى 100
dbedit8,9,10

button1 on click
كود :
var np,np1,TVA,somme,result:real; begin np:=strtofloat(dbcombobox2.Text); np1:=strtofloat(dbcombobox6.Text); result:=((((1300+(np*100))*0.17))+((1300+(np*100))))*np1; dbedit8.Text:=floattostr(result); if dbcombobox1.ItemIndex=1 then result:=((((1200+(np*100))*0.17))+((1260+(np*100))))*np1; dbedit8.Text:=floattostr(result); if dbcombobox1.ItemIndex=2 then result:=((((1200+(np*100))*0.17))+((1260+(np*100))))*np1; dbedit8.Text:=floattostr(result); if dbcombobox1.ItemIndex=3 then result:=((((1200+(np*100))*0.17))+((1260+(np*100))))*np1; dbedit8.Text:=floattostr(result); if dbcombobox1.ItemIndex=4 then result:=((((1200+(np*100))*0.17))+((1260+(np*100))))*np1; dbedit8.Text:=floattostr(result); if dbcombobox1.ItemIndex=5 then result:=(1560+255)*np1; dbedit8.Text:=floattostr(result); if dbcombobox1.ItemIndex=6 then result:=((((1200+(np*100))*0.17))+((1260+(np*100))))*np1; dbedit8.Text:=floattostr(result); end;[align=left][/align]


button2 on click يحسب المبلغ المتبقي dbedit9 تعبأ يدويا

كود :
var result, pa, somme:real; begin somme:=strtofloat(dbedit8.Text); pa:=strtofloat(dbedit9.Text); result:=somme-pa; begin dbedit10.Text:=floattostr(result); end;

استعملت الكود التالي في الحدث onexit
كود :
if Table1.State in [DsEdit,DsInsert] then Table1.Post;


علما أن كل المعطيات تحفظ بشكل عادي dbedit7,5,11... إلا المذكورة أعلاه وكل
المعطيات في جدول واحد
ولكن عندما اضغط على الزر next ثم prior تحفظ

بارك الله فيكم
إن أصبت فمن الله وإن أخطأت فمن نفسي ومن الشيطان
الرد
#2
و عليكم السلام
أظن أنه يجب عليك إظافة التعليمة
كود :
Table1.Post
في آخر زر button1 on click لكي يقوم بالحفط بعد الإنتهاء .لم تقل لنا ماذا يوجد في زر next ؟
أدبني الدهر فأراني نقص عقلي وإذا ما ازددت علما زادني علما بجهلي
الرد
#3
الزر next به الكود table1.next فقط
إن أصبت فمن الله وإن أخطأت فمن نفسي ومن الشيطان
الرد
#4
table1.post جربتها ولم تصلح
إن أصبت فمن الله وإن أخطأت فمن نفسي ومن الشيطان
الرد
#5
إذا كان الجدول يحوي بيانات فهنا تستعمل
PHP كود :
Table.edit 
تهيأ الجدول للتعديل وتختمها بحفظ
PHP كود :
Table.post 
PHP كود :
begin
 Table1
.Open;
Table1.Edit;
DBEdit1.Text:='12';
Table1.Post;
end 
;
أدبني الدهر فأراني نقص عقلي وإذا ما ازددت علما زادني علما بجهلي
الرد
#6
طريقة أخرى لم أجربها
PHP كود :
with DBEdit1.Datasource.Dataset do begin
  FieldByName
(DBEdit1.DataField).AsInteger :=12;
  
Post();
end; 
أدبني الدهر فأراني نقص عقلي وإذا ما ازددت علما زادني علما بجهلي
الرد
#7
[INDENT]
السلام عليكم ورحمة الله وبركاته ،
إذا كنت تستعمل paradox ،
استعمل الكود التالي بعد Poste و Delete ،
كود :
Table1.FlushBuffers ;

ملاحظة صغيرة إذا كنت تستعمل Paradox ،
فكر بالانتقال إلى قواعد بيانات أكثر أمنا مثل FireBird...

وفقك الله.
[/INDENT]
اللهم اجعلني من أهل القرآن ، الذين هم أهلك و خاصتك.
تذكر بأن الوقت الذي تلهو فيه ، غيرك يبني مجده فيه.
الرد
#8
السلام عليكم
أخي Unprogramme ماذا تقصد Table1.FlushBuffers ;
أنا استعمل paradox
إن أصبت فمن الله وإن أخطأت فمن نفسي ومن الشيطان
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم