delphi4arab منتديات دلفي للعرب
فيما يتعلق بتغيير مبلغ واضافة مبلغ - نسخة قابلة للطباعة

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

الصفحات: 1 2


فيما يتعلق بتغيير مبلغ واضافة مبلغ - medreg - 11-10-2019

السلام عليكم ورحمة الله تعالى وبركاته
ربما عنوان المشاركة غير مفهوم واعتذر على الخطأ
لكن مشكلتي انه اثناء البحث عن السجل حسب الحقول الواردة في البحث
المطلوب :
إذا كان السجل موجود بنفس الحقول الواردة في البحث هنا يجب ان يغير المبلغ بالمبلغ الجديد وليس الزيادة عليه بل مسح المبلغ السابق وتغييره بالجديد
ملاحظة المبلغ هو عبارة عن مجموع مبلغ السجل اذا كان هذ السجل مكرر ووضعه مكان المبلغ السابق
واذا كان غير موجود يضيف الى الجدول الثاني السجل بمجموع مبالغه
لقد وضعت هذا الكود
لكن المشكلة انه في حالة وجود مبلغ سابق يجمعه مرتين
اما بالنسبة لعدم وجود الي سجل فالنتيجة تعمل بشكل عادي
واليكم الكود المستعمل :
كود :
    DM.TabV.Open;
    DM.TabV.DisableControls;
    DM.TabV.First;
    while not DM.TabV.Eof do
    begin
      NPYR:=DM.TabVNT_PYR.asfloat;
      if Not DM.TabVBloquer.Value=True then
      if TabN.Locate('Cde;Num;Mois',vararrayof([DM.TabVCde.asInteger,DM.TabVNum.asstring,DM.TabVMois.asInteger]),[locaseinsensitive,lopartialkey]) then
      begin
        TabN.Edit;
        TabNNT_RPY.asfloat:=NPYR+TabNNT_RPY.AsFloat;
      end
      else
      begin
      TabN.insert;
      TabNCD_Pers.AsInteger:=DM.TabVCde.asInteger;
      TabNNum.AsString:=DM.TabVNum.asString;
      TabNMois.AsInteger:=DM.TabVMois.AsInteger;
      TabNNom.AsString:=DM.TabVFNOM.asstring +' '+DM.TabVPNOM.asstring;
      TabNBL_Pers.value:=DM.TabVBloquer.value;
      TabNNT_RPY.AsFloat:=NPYR;
      TabN.Post;
      TabN.Refresh;
      end;
      DM.TabV.Next;
    end;
    end;
    DM.TabV.EnableControls;



RE: فيما يتعلق بتغيير مبلغ واضافة مبلغ - medreg - 13-10-2019

هل الاشكال غير واضح


RE: فيما يتعلق بتغيير مبلغ واضافة مبلغ - Mr.DOS - 13-10-2019

السلام عليكم

استعمل sql


كود :
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

Example
كود :
UPDATE Customers
SET ContactName = 'Ahmed', City= 'Alger'
WHERE CustomerID = 1;



RE: فيما يتعلق بتغيير مبلغ واضافة مبلغ - medreg - 14-10-2019

مشكور اخي على المرور
هل  بامكانك اعطائ مثال بـالأسكيال حسب الحقول والجداول المبينة في مداخلتي
اي التحويل من الجدول TabV الى TabN
وبنفس الحقول أي في حالت وجود نفس السجل حسب الشرط
يقوم بتغيير قيمة الحقل NT_RPY
وفي حالة عدم وجود السجل نفسه حسب الشرط
يقوم بإضافة السجل بالكامل
أي
Cde = CD_Pers
Num = Num
Mois = Mois
FNom+' '+Pnom = Nom
Bloquer = BL_Pers
NT_RPY = NT_RPY
ملاحظة
إذا كان السجل مكرر يحمل نفس القيمة للحقل Cde,Num,Mois في هذه الحالة تتم عملية جمع قيمة الحقلNT_RPY الموجود فس الجدول TabV ووضعها في الجدول TabN في الحقل NT_RPY سواءا في عملية التغيير أو الإضافة


RE: فيما يتعلق بتغيير مبلغ واضافة مبلغ - Mr.DOS - 14-10-2019

ارفق لنا مثال عملي بسيط على قاعدة بيانات اكسس + محاولتك (الكود البرمجي)


RE: فيما يتعلق بتغيير مبلغ واضافة مبلغ - medreg - 14-10-2019

مشكور اخي
لكن انا اعمل على قاعدة البيانات
ABSOLUTE DATABASE
والدلفي XE8
ولم يسبق لي التعامل مع الاكسس

اليك اخي المثال مرفق
عند عملية التنفيذ ستلاحظ انه لايغير المبلغ فقط بل يضعفه كلما تم الضغط على الزر
ومن المفروض لايضاعف المبلغ بل يغيره

[attachment=4149]
جزاكم الله عنا كل خير


RE: فيما يتعلق بتغيير مبلغ واضافة مبلغ - larbiparadox - 15-10-2019

وعليك السلام ورحمة الله تعالى وبركاته

* جربت المثال المرفق يعمل عادي بدون أخطاء ، يظيف المجموع حسب الكود و الشهر ، هذا معناه إذا كان السجل موجود من قبل يظيف القيمة ، اذا لم يجد السجل يظيفه من جديد.

* الذي لا يلفت الانباه هو التكرار ، كمثال MED ALI كود يساوي 1 و الشهر 1 اذن يوجد ثلاثة حقول تحقق الشرط يظيفها إلى الجهة المقابلة

[صورة مرفقة: 377424706.png]

ملاحظة : اظافة صغيرة

[صورة مرفقة: 593103394.png]


RE: فيما يتعلق بتغيير مبلغ واضافة مبلغ - medreg - 15-10-2019

مشكور اخي على المرور
المطلوب يا اخي هو مسح او الغاء المبلغ الموجود سابقا واستبداله بالجديد
وليس اضافة المبلغ الجديد على ماهو موجود سابقا
بارك الله فيكم

بمعنى اذا كان المبلغ كما هو مبين في الصورة يساوي 25.000,00 والجديد يساوي 6.500,00 هنا يجب مسح او الغاء 25.000,00 واستبدالها بـ 6.500,00
بالتوفيق


RE: فيما يتعلق بتغيير مبلغ واضافة مبلغ - larbiparadox - 15-10-2019

medreg

اليك اخي المثال مرفق
عند عملية التنفيذ ستلاحظ انه لايغير المبلغ فقط بل يضعفه كلما تم الضغط على الزر
ومن المفروض لايضاعف المبلغ بل يغيره


جزاكم الله عنا كل خير



* اذا اردت عدم مظاعفة المبلغ عند الضغط عليه مرة اخرى، احذف الحقل الذي تم إظافته  ، يكون كتالي :

[صورة مرفقة: 205422417.png]

(15-10-2019, 06:18 PM)medreg كتب : مشكور اخي على المرور
المطلوب يا اخي هو مسح او الغاء المبلغ الموجود سابقا واستبداله بالجديد
وليس اضافة المبلغ الجديد على ماهو موجود سابقا
بارك الله فيكم

بمعنى اذا كان المبلغ كما هو مبين في الصورة يساوي 25.000,00 والجديد يساوي 6.500,00 هنا يجب مسح او الغاء 25.000,00 واستبدالها بـ 6.500,00
بالتوفيق

* في هذه الحالة احذف و غير مايلي

[صورة مرفقة: 943362539.png]

لم انتبه غيرها بهذه

[صورة مرفقة: 320857974.png]

وهنا ايضا

[صورة مرفقة: 115876534.png]


RE: فيما يتعلق بتغيير مبلغ واضافة مبلغ - medreg - 15-10-2019

يا اخي عندما قصدت بأن يغير المبلغ السابق بالمبلغ الجديد
واشرت الى ان يغير 25.000,00 بـ 6.500,00
يعني يعيد جمع كل القيمة المتعلقة بالشرط وكمثال
نلاحظ ان السجل المكرر المتعلق بـ MED ALI
مكرر ثلاث مرات بنفس الشهر ونفس الشخص
يعني يجب جمع الثلاث مبالغ ويضع مجموعهم المقدر بـ 6.500,00 في مكان 25.000,00
هذا ما قصدته

الكود السابق فعلا يعمل بشكل جيد الا انه يضاعف المبلغ
وما اريده هو تغيير المبلغ بالجديد تغييره بـ 6.500,00