منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] التاخير في دفع المصروفات بالداتا جريد فيو - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] التاخير في دفع المصروفات بالداتا جريد فيو (/showthread.php?tid=24065)



التاخير في دفع المصروفات بالداتا جريد فيو - محمد اسماعيل - 05-03-18

عندي داتا جريد فيو بها مجموعة من الطلاب وتاريخ دفع المصروفات الخاص بفترة معينة من اول مدة الدفع الي اخر الشهر من الدفع وانتهاء المصروف الشهري اريد معرفة كل طالب كم تاخر بالايام او الشهو عن الدفع الشهري الي الشهر التالي
لكل طالب ماهي مدة تاخير وتاتي بفرق امدة الحالية لنفس الطالب - اخر تاريخ للمدة السابقة لطالب

صورة توضيحية لطالب والقياس علية لكل طالب استخدمت الكود التالي ولكن يعتمد في الطرح علي اول تاريخ  لطالب وليس كل تاريخ جديد    الصورة المطلوبة بالمرفقات

حاولت اعمل حلقة تكرارية وعلي اساس التكرار ياتي باسم الطالب ويطرح المدة ولكن الكود يعتمد علي اول تاريخ وليس كل تاريخ جديد


[attachment=17295]
الكود


كود :
  On Error Resume Next
       For intI = DataGridView1.Rows.Count - 1 To 0 Step -1
           For intJ = intI - 1 To 0 Step -1
               Dim t As String = DataGridView1.Rows(intI).Cells(16).Value ' duplicat
               Dim j As String = DataGridView1.Rows(intJ).Cells(16).Value ' original
               Dim fromDate As String = Regex.Match(t, "(?<=من\s).+?(?=\s)").Value
               Dim toDate As String = Regex.Match(t, "(?<=الي\s).+?(?=\s)").Value
               Dim fromDate1 As String = Regex.Match(j, "(?<=من\s).+?(?=\s)").Value
               Dim toDate1 As String = Regex.Match(j, "(?<=الي\s).+?(?=\s)").Value
               Dim d1 As Date = CDate(fromDate)
               Dim d2 As Date = CDate(toDate)
               Dim d3 As Date = CDate(fromDate1)
               Dim d4 As Date = CDate(toDate1)
               If DataGridView1.Rows(intI).Cells(15).Value = DataGridView1.Rows(intJ).Cells(15).Value Then
                   If IsDate(fromDate) And IsDate(toDate) Then
                       DataGridView1.Rows(intI).Cells(17).Value = DateDiff("d", d4, d1) 'intJ,intI
                       DataGridView1.Rows(intI).Cells(18).Value = DateDiff("M", d4, d1)
                   Else
                       DataGridView1.Rows(intI).Cells(17).Value = 0
                       DataGridView1.Rows(intI).Cells(18).Value = 0

                   End If
             
               End If
           Next
       Next



RE: التاخير في دفع المصروفات بالداتا جريد فيو - محمد اسماعيل - 06-03-18

مفيش فكرة معينة اقوم بيها بالكود لان البرنامج كامل متوقف علي هذا الطلب


RE: التاخير في دفع المصروفات بالداتا جريد فيو - spoony - 08-03-18

مرحبا يعطيك العافية محمد أسماعيل في طر يقة تعرف ئديه كل الطالب متأخر عن الدين في شي أسمه أعمار الذمم   

كما في الصورة اذا كنت تريد تواصل معي خاص