تقييم الموضوع :
  • 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 ك ب / التحميلات : 42)
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  تقسيم ip داخل textbox Incubus 2 30 منذ 52 دقيقة مضت
آخر رد: Incubus
  ما هو كود حفظ البيانات من الداتا جريد فيو إلى قاعدة البيانات kofa 1 60 أمس, 03:22 AM
آخر رد: abid
  كيف يتم جعل اول سطر فى الداتا جريد فيو يظهر الرصيد السابق السيد الجوهري 1 100 09-12-16, 10:44 PM
آخر رد: السيد الجوهري
  تحميل قيم اكبرid فى الداتا جريد فيو داخل تسكت بوكس araxis 1 47 09-12-16, 06:31 PM
آخر رد: ابراهيم النعيمي
  [سؤال] تسجيل دخول الفيس من خلال تطبيق ابو روضة 0 29 09-12-16, 03:55 PM
آخر رد: ابو روضة
  المجموع التراكمي في داتا جريد فيو السيد الجوهري 2 54 08-12-16, 09:46 PM
آخر رد: السيد الجوهري
  [VB.NET] خطا بالكود عند اجراء عملية حذف لاحد العملاء في البنك بسبب وجود علاقة بين الحقول في ال Asmaa adel 2 74 08-12-16, 11:57 AM
آخر رد: Asmaa adel
  [VB.NET] هل يمكن الاستغناء عن التايمر واستخدام شئ بديل يكون افضل ؟ !! الماجيك مسعد 7 113 08-12-16, 06:58 AM
آخر رد: silverlight
  ازاى اما اكتب قيمة فى التكست بوكس يتاكد انها مش موجودة فى الداتا جريدفيو araxis 1 60 07-12-16, 11:22 AM
آخر رد: ممدوح الخطيب
  ازاى يبقى الصفوف فى الداتا جريد فيو مترتبة زى اللى فى الداتا بيز اكسس بالظبط araxis 2 79 01-12-16, 07:04 AM
آخر رد: araxis

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


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