منتدى فيجوال بيسك لكل العرب

نسخة كاملة : فرق التاريخ بين اعمدة الداتا جريد
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
عندي 3 اعمدة بالداتا جريد فيو

عمود 10 بية خلية الوقت والتاريخ بالشكل التالي بيجي من ملف تيكست حسب نظام معين بالتنسيق التالي

 من 20/02/2018 08:08:39 ص الي 20/03/2018 08:08:39 ص

1- اريد استخلاص اصغر قيمة تاريخ من الخلية وطرحها من اليوم  واضع الناتج بالعمود7
2-اريد استخلاص اكبر قيمة تاريخ من الخلية وطرحها من اليوم  واضع الناتج بالعمود8
3- كل شيء شغال تمام والكود بينفذ المطلوب بس المشكلة لو الخلية بالعمود 10 فارغة او لايوجد بيها تاريخ بيجيب فرق اي خلية قبلها

اريد التعديل بحيث لو الخلية بالعمود 10 فارغة او التاريخ غير موجود بية (كلمة : من - والي) تظهر 0  بالخلية بالعمود 8 او 7

كود :
       For i = 0 To Me.DataGridView1.Rows.Count - 1
           Dim t As String = DataGridView1.Rows(i).Cells(10).Value
           Dim firstpart As String = t.Substring(0, t.LastIndexOf("الي").ToString).Replace("من", "")
           Dim firstpart1 As String = t.Substring(t.IndexOf("الي").ToString).Replace("من", "").Replace("الي", "")
           Dim d As Date = firstpart
           Dim d2 As Date = firstpart1
           Dim d3 As Date = DateTime.Now
           If DataGridView1.Rows(i).Cells(10).Value Is Nothing Then Return
           DataGridView1.Rows(i).Cells(7).Value = DateDiff("d", d.ToShortDateString, d3.ToShortDateString)
           DataGridView1.Rows(i).Cells(8).Value = DateDiff("d", d3.ToShortDateString, d2.ToShortDateString)
       Next
PHP كود :
For 0 To Me.DataGridView1.Rows.Count 1

    Dim t 
As String DataGridView1.Rows(i).Cells(10).Value
    Dim fromDate 
As String Regex.Match(t"(?<=من\s).+?(?=\s)").Value
    Dim toDate 
As String Regex.Match(t"(?<=الي\s).+?(?=\s)").Value

    
If IsDate(fromDate) And IsDate(toDateThen
        Dim d1 
As Date CDate(fromDate)
        
DataGridView1.Rows(i).Cells(7).Value DateDiff("d"d1Today)
        
Dim d2 As Date CDate(toDate)
        
DataGridView1.Rows(i).Cells(8).Value DateDiff("d"Todayd2)
    Else
        
DataGridView1.Rows(i).Cells(7).Value 0
        DataGridView1
.Rows(i).Cells(8).Value 0
    End 
If

    If 
DataGridView1.Rows(i).Cells(10).Value Is Nothing Then
        DataGridView1
.Rows(i).Cells(7).Value 0
        DataGridView1
.Rows(i).Cells(8).Value 0
    End 
If

Next 
(26-02-18, 07:50 PM)طالب برمجة كتب : [ -> ]
PHP كود :
For 0 To Me.DataGridView1.Rows.Count 1

    Dim t 
As String DataGridView1.Rows(i).Cells(10).Value
    Dim fromDate 
As String Regex.Match(t"(?<=من\s).+?(?=\s)").Value
    Dim toDate 
As String Regex.Match(t"(?<=الي\s).+?(?=\s)").Value

    If IsDate
(fromDate) And IsDate(toDateThen
        Dim d1 
As Date CDate(fromDate)
 
       DataGridView1.Rows(i).Cells(7).Value DateDiff("d"d1Today)
 
       Dim d2 As Date CDate(toDate)
 
       DataGridView1.Rows(i).Cells(8).Value DateDiff("d"Todayd2)
 
   Else
        DataGridView1
.Rows(i).Cells(7).Value 0
        DataGridView1
.Rows(i).Cells(8).Value 0
    End 
If

 
   If DataGridView1.Rows(i).Cells(10).Value Is Nothing Then
        DataGridView1
.Rows(i).Cells(7).Value 0
        DataGridView1
.Rows(i).Cells(8).Value 0
    End 
If

Next 

نعم هذا هو المطلوب

اسال اللّة ان ينعم عليك بالصحة والعافية وجميع العائلة وان يريك خيرا في أسرتك