تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
كيف يمكن استثناء صفوف من تطبيق عملية حسابية داخل الداتا جريد ؟
#1
السلام عليكم ورحمة الله وبركاته

هذا الكود يقوم بعملية حسابية فى الداتا جريد وهو يعمل والحمد لله

كود :
' حساب نسبة 26% تأمينات من الأجر الأساسى للشركة
CurRow.Cells("e_tamen_per_1_26_col").Value =
CDbl(CurRow.Cells("e_asasy_col").Value) * 0.26
CurRow.Cells("e_tamen_per_1_26_col").Value = Math.Round(CurRow.Cells("e_tamen_per_1_26_col").Value / 0.05, 0) * 0.05

طلب منى اليوم ان يتم استثناء بعض الصفوف فى العامود ( e_tamen_per_1_26_col ) من تطبيق المعادلة ؟؟؟

كيف يمكن عمل ذلك ؟
الرد }}}
تم الشكر بواسطة:
#2
إستثناء تعني إستخدام condtional statement ما هو الشرط الذي علي اساسه يتم الإستثناء
الرد }}}
تم الشكر بواسطة:
#3
amgadtamer كتب :إستثناء تعني إستخدام condtional statement ما هو الشرط الذي علي اساسه يتم الإستثناء

الفكرة ببساطة أخى الفاضل
لا اريد حساب نسبة التأمين إلى الأشخاص الذين سيتم إستثنائهم وذلك لأنهم غير مؤمن عليهم ( 3 أفراد فى المؤسسة بالكامل )

لو حنعمل شرط يبقى حنزود عامود جديد ( مؤمن عليه - غير مؤمن عليه ) وطبعا من خلاله حنعمل condtional statement ؟؟

حليت الموضوع ببساطه وهو انى حددت له الخلية اللى يخلى قيمتها = 0 بعد ما يحسب ( على أساس أنى الموظفين دول أكوادهم ثابته ولن تتغير )

كود :
'  حساب نسبة 24% تأمينات من الأجر المتغير للشركة
            CurRow.Cells("e_tamen_per_1_24_col").Value =
                          CDbl(CurRow.Cells("e_change_tot_col").Value) * 0.24
            CurRow.Cells("e_tamen_per_1_24_col").Value = Math.Round(CurRow.Cells("e_tamen_per_1_24_col").Value / 0.05, 0) * 0.05
[COLOR="#FF0000"]            DGV1.Rows(0).Cells("e_tamen_per_1_24_col").Value = 0
            DGV1.Rows(1).Cells("e_tamen_per_1_24_col").Value = 0
            DGV1.Rows(4).Cells("e_tamen_per_1_24_col").Value = 0[/COLOR]

طبعا فكرتك أفضل وهى تنطبق على الكل وده حيكون أفضل بحيث ان اذا تم تكويد موظف جديد وغير مؤمن عليه فسيجعله = 0 وهذا المطلوب - لكن حلى المؤقت يتطلب منى تعديل الكود فى حالة إستثناء موظف اخر

إن أمكن توضيح الفكرة كما تعودنا منك أكون شاكر ليك جدااااااا
الرد }}}
تم الشكر بواسطة:
#4
حتى أستطيع فهمك جيدا هل توجد خليه من خلال قيمتها نعرف أن هذا الموظف غير مؤمن عليه ؟
الرد }}}
تم الشكر بواسطة:
#5
amgadtamer كتب :حتى أستطيع فهمك جيدا هل توجد خليه من خلال قيمتها نعرف أن هذا الموظف غير مؤمن عليه ؟

حتى الان لا فلا يوجد بقاعدة البيانات اى شيء يخص هل هو مؤمن عليه ام لا

لكن انا ضفته وضفته حاليا فى الداتا جريد وقمت بإخفاءه
العامود اسمه e_tamen_st
القيم اللتى توجد به هى "1" اذا كان مؤمن عليه - "2" اذا كان غير مؤمن عليه

فى انتظار التوضيح
الرد }}}
تم الشكر بواسطة:
#6
PHP كود :
استخدم هذه الدالة حتى تستطيع التأكد من أنه مؤمن عليه أولا فإن كان غير مؤمن قم بإسناد صفر للأعمدة التى تريد 

 
Function checkifinsure(ByVal gridv As DataGridViewByVal cellindex As IntegerByVal cellval As Object) As Boolean
        Dim r 
As DataGridViewRow
        Dim result 
As Boolean False
        
For Each r In gridv.Rows
            
If r.Cells(cellindex).Value.ToString cellval.ToString Then
                result 
True
            End 
If
        
Next
        
Return result
    End 
Function 
الرد }}}
تم الشكر بواسطة:
#7
amgadtamer كتب :
PHP كود :
استخدم هذه الدالة حتى تستطيع التأكد من أنه مؤمن عليه أولا فإن كان غير مؤمن قم بإسناد صفر للأعمدة التى تريد 

 
Function checkifinsure(ByVal gridv As DataGridViewByVal cellindex As IntegerByVal cellval As Object) As Boolean
        Dim r 
As DataGridViewRow
        Dim result 
As Boolean False
        
For Each r In gridv.Rows
            
If r.Cells(cellindex).Value.ToString cellval.ToString Then
                result 
True
            End 
If
        
Next
        
Return result
    End 
Function 

السلام عليكم

هل المقصود ب
كود :
Cells(cellindex)
هو رقم الخلية التى تحتوى على القيمة الخاصة بمؤمن عليه وغير مؤمن عليه يعنى اكتب مكان cellindex رقم او اسم العامود اللى حياخد منه القيمة ؟

هل أكتب الشرط الخاص بتصفير القيمة داخل دالة IF اى مع
كود :
result = True
؟؟؟
الرد }}}
تم الشكر بواسطة:
#8
وليكن لدينا datagridview باسم grid ولدينا العمود الذى به مؤمن عليه رقم 5 والخليه في هذا العمود إذا كان مؤمن عليه تساوى 1 وغير مؤمن عليه تساوى 0

فيصبح الكود هكذا

PHP كود :
if checkifinsure(grid,5,"0") = true then

'نفذ الكود الذى تريده
end if 
الرد }}}
تم الشكر بواسطة:
#9
amgadtamer كتب :وليكن لدينا datagridview باسم grid ولدينا العمود الذى به مؤمن عليه رقم 5 والخليه في هذا العمود إذا كان مؤمن عليه تساوى 1 وغير مؤمن عليه تساوى 0

فيصبح الكود هكذا

PHP كود :
if checkifinsure(grid,5,"0") = true then

'نفذ الكود الذى تريده
end if 

السلام عليكم

عملت الوظيفة كما اوضحت

كود :
Function checkifinsure(ByVal gridv As DataGridView, ByVal cellindex As Integer, ByVal cellval As Object) As Boolean
        Dim r As DataGridViewRow
        Dim result As Boolean = False
        For Each r In gridv.Rows
            If r.[color=#FF0000]Cells(cellindex).Value.ToString[/color] = cellval.ToString Then
                result = True
            End If
        Next
        Return result
    End Function

بالنسبة للجزء اللى باللون الأحمر هل اضع cellindex اسم العامود الذى به قيمة مؤمن عليه = 1 أو غير مؤمن عليه = 0

بالنسبة للجزء الثانى

كود :
if checkifinsure(grid,[color=#FF0000]5[/color],"0") = true then

نفذ الكود الذى تريده
end if

هنا نحن حددنا رقم الخلية وهو "5" وانا اريد تنفيذه على الكل وليس رقم 5 فقط

الكود الذى كنت اكتبه لجعل القيمة = 0 هو

كود :
DGV1.Rows(0).Cells("e_tamen_per_1_26_col").Value = 0
            DGV1.Rows(1).Cells("e_tamen_per_1_26_col").Value = 0
            DGV1.Rows(4).Cells("e_tamen_per_1_26_col").Value = 0

طبعا انا هنا كنت محدد الصفوف لكن طلب منى انى اطبق الموضوع على الكل تحسبا لأى حاجة

فى إنتظار توضيحك الكريم أخى الفاضل جزاك الله عنا كل خير
الرد }}}
تم الشكر بواسطة:
#10
مرفق مثال للتوضيح


الملفات المرفقة
.rar   GridFormatting Amgad.rar (الحجم : 70.45 ك ب / التحميلات : 76)
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  كيف يمكن تصدير ascx كملف dll justforit 1 131 06-12-25, 12:33 AM
آخر رد: salamandal
  [سؤال] طريقة توسيط النص داخل اداة comboBox سمير1404 7 3,854 24-08-25, 01:01 PM
آخر رد: أبو خالد الشكري
  ارسال رسالة الى تطبيق واتساب nabil.1710 6 3,676 26-04-25, 11:21 AM
آخر رد: hamedi2727
  كيف يمكن تحريك الفورم بأستخدام زر heem1986 2 586 30-03-25, 01:58 AM
آخر رد: heem1986
  كيف يمكن تحويل ملف تنفيذى الى فيجوال بيسك 2010 walkady 2 777 07-02-25, 07:57 PM
آخر رد: الورد2
  لايمكن الوصول للملف لأنه قيد الاستخدام بواسطة عملية أخرى صالح عبدالله 3 318 24-12-24, 12:17 AM
آخر رد: صالح عبدالله
  ابغي ارجع قيمة الداتا قراد فيو من جديد عندي مشكله khalidalwdi 3 624 05-12-24, 02:21 AM
آخر رد: aljzazy
  استدعاء من جدولين داخل اداه FlowLayoutPanel برجاء الافادة للضرورة جداً modymody300894 7 623 15-11-24, 11:02 AM
آخر رد: modymody300894
  معرفة عدد صفوف الجريد فيو بشرط معين modymody300894 4 644 12-11-24, 02:22 PM
آخر رد: salamandal
  اريد جلب عدد محدد من السجلات من قاعدة بيانات اكسس الى الداتا قراد فيو يوجد مثال khalidalwdi 2 665 12-11-24, 12:19 PM
آخر رد: khalidalwdi

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


يقوم بقرائة الموضوع: