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

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

اريد تعديل الكود ليعمل لوب  ويتم الحساب على العمود كله مرة واحدة 
كود :
  Dim TotalMinit As Integer = 0
       Dim TotalHour As Integer = 0
       'DataGridView1(4, DataGridView1.CurrentRow.Index).Value = txtTimeIN.Text


       TotalMinit = DateDiff(DateInterval.Minute, DataGridView1(3, DataGridView1.CurrentRow.Index).Value, DataGridView1(4, DataGridView1.CurrentRow.Index).Value) ' حساب الفرق بالساعة بين الحضور والانصراف

       If TotalMinit > 59 Then
           TotalHour += Math.Floor(TotalMinit / 60)
           TotalMinit = TotalMinit Mod 60
           Dim TotalTime As String = TotalHour.ToString("00") & ":" & TotalMinit.ToString("00")
           DataGridView1(5, DataGridView1.CurrentRow.Index).Value = TotalTime

       Else
           DataGridView1(5, DataGridView1.CurrentRow.Index).Value = "00:" & TotalMinit.ToString("00")
           'DataGridView1(5, DataGridView1.CurrentRow.Index).Value = Format("h:mm tt")
       End If
السلام عليكم ورحمة الله وبركاته 
أتمنى أكون فهمت سؤالك ( أنت تريد جمع الوقت لعمود معين في الداتاقريدفيو ) اذا كان هذا المطلوب استخدم الكود التالي
يدل الرقم 7 في السطر الأول على رقم العمود المطلوب 

                Dim columnIndex1 As Integer = 7
                Dim h1, m1 As Integer
                For Each r1 As DataGridViewRow In Me.DataGridView2.Rows
                    If Not IsNothing(r1.Cells(columnIndex1).Value) Then
                        h1 += r1.Cells(columnIndex1).Value.ToString.Split(":")(0)
                        m1 += r1.Cells(columnIndex1).Value.ToString.Split(":")(1)
                    End If
                Next
                If m1 > 59 Then
                    h1 += Math.Floor(m1 / 60)
                    m1 = m1 Mod 60
                End If
                Dim result1 As String = String.Format("{0}:{1}", h1, m1)


                Me.TextBox4.Text = result1


دمت بود 
لكم جزيل الشكر 
شكرا   جدا   اخي الكريم
                                       جيولوجي مبتدئ

الفكرة ان الكود المرفق يعمل على الصف ال row  المحدد فى الداتا جريد

انا كنت محتاج اعدل الكود ليعمل على كل الصفوف دفعة واحدة
PHP كود :
For Each row As DataGridViewRow In dgv.Rows
If row.IsNewRow False Then
 row
.Cells(2).Value DateDiff(DateInterval.Hourrow.Cells(0).Valuerow.Cells(1).Value)
 
End If
 
       Next 
الكود يحتاج تعديل لكن الفكرة العامة للتعامل مع كل صفوف شبيكة البيانات

اخي

سعود

الملف بيطلب باسورد

ربنا يجزيك خير ويذيدك علم
(28-11-21, 07:38 PM)new_programer كتب : [ -> ]اخي

       سعود  

الملف بيطلب باسورد  

ربنا    يجزيك خير  ويذيدك علم

vb4arb

صارت عادة الضغط بكلمة مرور
تسلم اخي   وشكرا على التعب  لكن اسف ليس كما المطلوب 

لان انا محتاج اسحب  الداتا من قاعدة بيانات  من برنامج البصمة

هل يمكنك مساعدتى 
مرفق الكود 

كما بالصورة
[attachment=27350]
(28-11-21, 08:44 PM)new_programer كتب : [ -> ]تسلم اخي   وشكرا على التعب  لكن اسف ليس كما المطلوب 

لان انا محتاج اسحب  الداتا من قاعدة بيانات  من برنامج البصمة

هل يمكنك مساعدتى 
مرفق الكود 

كما بالصورة

معذرة اخي 
البصمة لا افهم فيها شيء
مشاركتي عن معرفة الفارق بين وقتين
من خلال اطلاعي على مشاركتك ومشاركة الاخ تبين ان الباقي هو ما شاركتكم به.
اعتذر مرة اخرى فكما قلت البصمة لا افهم فيها اي شيSad
تسلم اخي ربنا يبارك فيك ويذيدك علم
(28-11-21, 09:02 PM)new_programer كتب : [ -> ]تسلم اخي ربنا يبارك فيك  ويذيدك علم

اخي الكريم انا غالبا اتهيب من المشاريع اللتي ارى فيها ضخامةSmile
لكن الكود المطلوب هذا هو [مع وجود خطا ساراجعه باذن الله تعالى لاحقا]


PHP كود :
 Dim rowscount As Integer DataGridView1.Rows.Count IIf(DataGridView1.AllowUserToAddRows21)
 
       For r As Integer 0 To rowscount
            Dim TotalMinit 
As Integer 0
            Dim TotalHour 
As Integer 0
            TotalMinit 
DateDiff(DateInterval.MinuteDataGridView1(3r).ValueDataGridView1(4r).Value' حساب الفرق بالساعة بين الحضور والانصراف
            If TotalMinit > 59 Then
                TotalHour += Math.Floor(TotalMinit / 60)
                TotalMinit = TotalMinit Mod 60
                Dim TotalTime As String = TotalHour.ToString("00") & ":" & TotalMinit.ToString("00")
                DataGridView1(5, r).Value = TotalTime
            Else
                DataGridView1(5, r).Value = "00:" & TotalMinit.ToString("00")
            End If
        Next 

كما قلت فيه خطا بالكود من ناحية الحساب وساصلحه( ان شاء الله ) اذا لم تسبقني او يسبقني احد.


عملت تعديلات بسيطة بالاكواد
الصفحات : 1 2