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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [كود] عملية حفظ واسترجاع ملفات عبدالرحمن المكاوي 9 89 منذ 4 ساعة مضت
آخر رد: عبدالرحمن المكاوي
Question [سؤال] محتاج طريقة لعرض الأسماء المكررة في الداتا بيز refaat130 3 82 06-02-17, 07:50 PM
آخر رد: sendbad100
  كيفية اظهار قاءمة عند النقر بزر الفأرة الايمن على الداتا قريد فيو في فيجوال 2008 المتألق9 2 67 05-02-17, 01:43 AM
آخر رد: المتألق9
  مساعده في برمجة الداتا قرد فيو معتز الجازوي 2 61 01-02-17, 12:34 AM
آخر رد: معتز الجازوي
  [سؤال] استفسار داخل List box عبدالرحمن المكاوي 10 151 31-01-17, 05:32 PM
آخر رد: عبدالرحمن المكاوي
Thumbs Up [VB.NET] ادراج صور وملفات داخل ال sql باستخدام vb khallak86 0 59 31-01-17, 11:40 AM
آخر رد: khallak86
  كيف يمكن تقريب الكسر العشري لاقرب رقم فى داتا جريد فيو السيد الجوهري 1 55 28-01-17, 06:34 PM
آخر رد: ابو ليلى
  كيف يمكن تثبيت رقم داخل مربع النص والنموذج فى وضع العرض السيد الجوهري 5 88 28-01-17, 02:25 AM
آخر رد: السيد الجوهري
  كيف يمكن تحريك مربعات النص على التقرير السيد الجوهري 3 95 27-01-17, 11:29 PM
آخر رد: السيد الجوهري
  [VB.NET] كيفية هذا تطبيق كود على اتصال ... 3asfa~mdmra 0 95 21-01-17, 09:43 PM
آخر رد: 3asfa~mdmra

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


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