تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
معرفة الوقت الاضغر بين وقتين وقت الدخول وقت الخروج- مرفق مثال
#1
السلام عليكم 

اخوانى الافاضل 

لدى فورم لحساب وقت التاخير 
اريد وضع عمود فى الداتا جريد ووضع وقت الدخول لكل يوم ثم حساب وقت التاخير  


وثم حساب اجمالي وقت التاخير خلال تاريخ التاريخ


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

مرفق مثال 

.zip   TimeWork1.zip (الحجم : 582.42 ك ب / التحميلات : 37)
الرد }}}
تم الشكر بواسطة:
#2
هل يوجد حل
الرد }}}
تم الشكر بواسطة:
#3
محتاج استعلام يظهر لي الفرق بين تاريخين و كمان الساعات .
الرد }}}
تم الشكر بواسطة: new_programer , new_programer
#4
السلام عليكم ورحمة الله وبركاته 
لحساب مدة التأخر     
            TextBox16.Text = dt3.Rows(0)(1).ToString

        TextBox91.Text = dt40.Rows(0)(1).ToString


    ""=TextBox18.Text 

        '' ''DateTimePicker2.Text = DateTime.Now.ToShortTimeString

        TextBox18.Text = DateTimePicker2.Value.ToShortTimeString

        Dim Difference As TimeSpan = TimeSpan.Parse(TextBox18.Text) - TimeSpan.Parse(TextBox16.Text)

        TextBox21.Text = Strings.Right("0" & Difference.Hours, 2) & ":" & Strings.Right("0" & Difference.Minutes, 2)


حيث dt3  جدول تضع وقت الحضور الرسمي ثم تضع القيمة في Textbox16 

و textbox18  تضع فيه قمية Datetimepikker2  بعد أن تحول قيمته لوقت وهو يمثل وقت حضور الموظف  ثم تستخدم  TimeSpan كما هو موضح


ثم تقوم  بالتالي 

     If TextBox21.Text.Contains("-") Then
            TextBox21.Text = "00:00"
        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


                Dim columnIndex2 As Integer = 21
                Dim h2, m2 As Integer
                For Each r2 As DataGridViewRow In Me.DataGridView2.Rows
                    If Not IsNothing(r2.Cells(columnIndex2).Value) Then
                        h2 += r2.Cells(columnIndex2).Value.ToString.Split(":")(0)
                        m2 += r2.Cells(columnIndex2).Value.ToString.Split(":")(1)
                    End If
                Next
                If m2 > 59 Then
                    h2 += Math.Floor(m2 / 60)
                    m2 = m2 Mod 60
                End If
                Dim result2 As String = String.Format("{0}:{1}", h2, m2)

                Me.TextBox3.Text = result2




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

السلام عليكم ورحمة الله وبركاته 
قمت في الجواب السابق بحساب التأخر في عمودين وهم 7   و   21  وطبعاً كل عمود يحسب على حدة وليس له أي علاقة بالعمود الآخر 
لكم جزيل الشكر 
دمتم بود

السلام عليكم ورحمة الله وبركاته 
تابع حل السؤال السابق 

آسف لأنني لم أقم بوضع الاستعلام  بين تاريخين 

     Dim ds1 As New DataSet
                Dim da1 As New SqlDataAdapter("Select * From Hodor_Table Where Emp_Name like '" & ComboBox1.Text & "'  AND Emp_State like  '%" & ComboBox6.Text & "%'  AND Date_Hodor between @d1 and @d2 ", Sqlcon)
                da1.SelectCommand.Parameters.AddWithValue("@d1", Me.DateTimePicker1.Value.Date)
                da1.SelectCommand.Parameters.AddWithValue("@d2", Me.DateTimePicker2.Value.Date)

               da1.Fill(ds1, "Hodor_Table")

                DataGridView2.DataSource = ds1.Tables("Hodor_Table") 
 لكم جزيل الشكر 
دمتم بود 
الرد }}}
تم الشكر بواسطة: asemshahen5 , new_programer
#5
[attachment=27311 كتب :جيولوجي مبتدئ pid='178597' dateline='1637606123']السلام عليكم ورحمة الله وبركاته 
لحساب مدة التأخر     
            TextBox16.Text = dt3.Rows(0)(1).ToString

        TextBox91.Text = dt40.Rows(0)(1).ToString


    ""=TextBox18.Text 

        '' ''DateTimePicker2.Text = DateTime.Now.ToShortTimeString

        TextBox18.Text = DateTimePicker2.Value.ToShortTimeString

        Dim Difference As TimeSpan = TimeSpan.Parse(TextBox18.Text) - TimeSpan.Parse(TextBox16.Text)

        TextBox21.Text = Strings.Right("0" & Difference.Hours, 2) & ":" & Strings.Right("0" & Difference.Minutes, 2)


حيث dt3  جدول تضع وقت الحضور الرسمي ثم تضع القيمة في Textbox16 

و textbox18  تضع فيه قمية Datetimepikker2  بعد أن تحول قيمته لوقت وهو يمثل وقت حضور الموظف  ثم تستخدم  TimeSpan كما هو موضح


ثم تقوم  بالتالي 

     If TextBox21.Text.Contains("-") Then
            TextBox21.Text = "00:00"
        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


                Dim columnIndex2 As Integer = 21
                Dim h2, m2 As Integer
                For Each r2 As DataGridViewRow In Me.DataGridView2.Rows
                    If Not IsNothing(r2.Cells(columnIndex2).Value) Then
                        h2 += r2.Cells(columnIndex2).Value.ToString.Split(":")(0)
                        m2 += r2.Cells(columnIndex2).Value.ToString.Split(":")(1)
                    End If
                Next
                If m2 > 59 Then
                    h2 += Math.Floor(m2 / 60)
                    m2 = m2 Mod 60
                End If
                Dim result2 As String = String.Format("{0}:{1}", h2, m2)

                Me.TextBox3.Text = result2




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

السلام عليكم ورحمة الله وبركاته 
قمت في الجواب السابق بحساب التأخر في عمودين وهم 7   و   21  وطبعاً كل عمود يحسب على حدة وليس له أي علاقة بالعمود الآخر 
لكم جزيل الشكر 
دمتم بود

السلام عليكم ورحمة الله وبركاته 
تابع حل السؤال السابق 

آسف لأنني لم أقم بوضع الاستعلام  بين تاريخين 

     Dim ds1 As New DataSet
                Dim da1 As New SqlDataAdapter("Select * From Hodor_Table Where Emp_Name like '" & ComboBox1.Text & "'  AND Emp_State like  '%" & ComboBox6.Text & "%'  AND Date_Hodor between @d1 and @d2 ", Sqlcon)
                da1.SelectCommand.Parameters.AddWithValue("@d1", Me.DateTimePicker1.Value.Date)
                da1.SelectCommand.Parameters.AddWithValue("@d2", Me.DateTimePicker2.Value.Date)

               da1.Fill(ds1, "Hodor_Table")

                DataGridView2.DataSource = ds1.Tables("Hodor_Table") 
 لكم جزيل الشكر 
دمتم بود 

 اخي ومعلمي الفاضل   
                                     جيولوجي مبتدئ 

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

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


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

   


الملفات المرفقة
.zip   TimeWork1 (2).zip (الحجم : 609.04 ك ب / التحميلات : 36)
الرد }}}
تم الشكر بواسطة: asemshahen5
#6
(25-11-21, 03:11 AM)new_programer كتب :
(22-11-21, 10:35 PM)جيولوجي مبتدئ كتب : السلام عليكم ورحمة الله وبركاته 
لحساب مدة التأخر     
            TextBox16.Text = dt3.Rows(0)(1).ToString

        TextBox91.Text = dt40.Rows(0)(1).ToString


    ""=TextBox18.Text 

        '' ''DateTimePicker2.Text = DateTime.Now.ToShortTimeString

        TextBox18.Text = DateTimePicker2.Value.ToShortTimeString

        Dim Difference As TimeSpan = TimeSpan.Parse(TextBox18.Text) - TimeSpan.Parse(TextBox16.Text)

        TextBox21.Text = Strings.Right("0" & Difference.Hours, 2) & ":" & Strings.Right("0" & Difference.Minutes, 2)


حيث dt3  جدول تضع وقت الحضور الرسمي ثم تضع القيمة في Textbox16 

و textbox18  تضع فيه قمية Datetimepikker2  بعد أن تحول قيمته لوقت وهو يمثل وقت حضور الموظف  ثم تستخدم  TimeSpan كما هو موضح


ثم تقوم  بالتالي 

     If TextBox21.Text.Contains("-") Then
            TextBox21.Text = "00:00"
        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


                Dim columnIndex2 As Integer = 21
                Dim h2, m2 As Integer
                For Each r2 As DataGridViewRow In Me.DataGridView2.Rows
                    If Not IsNothing(r2.Cells(columnIndex2).Value) Then
                        h2 += r2.Cells(columnIndex2).Value.ToString.Split(":")(0)
                        m2 += r2.Cells(columnIndex2).Value.ToString.Split(":")(1)
                    End If
                Next
                If m2 > 59 Then
                    h2 += Math.Floor(m2 / 60)
                    m2 = m2 Mod 60
                End If
                Dim result2 As String = String.Format("{0}:{1}", h2, m2)

                Me.TextBox3.Text = result2




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

السلام عليكم ورحمة الله وبركاته 
قمت في الجواب السابق بحساب التأخر في عمودين وهم 7   و   21  وطبعاً كل عمود يحسب على حدة وليس له أي علاقة بالعمود الآخر 
لكم جزيل الشكر 
دمتم بود

السلام عليكم ورحمة الله وبركاته 
تابع حل السؤال السابق 

آسف لأنني لم أقم بوضع الاستعلام  بين تاريخين 

     Dim ds1 As New DataSet
                Dim da1 As New SqlDataAdapter("Select * From Hodor_Table Where Emp_Name like '" & ComboBox1.Text & "'  AND Emp_State like  '%" & ComboBox6.Text & "%'  AND Date_Hodor between @d1 and @d2 ", Sqlcon)
                da1.SelectCommand.Parameters.AddWithValue("@d1", Me.DateTimePicker1.Value.Date)
                da1.SelectCommand.Parameters.AddWithValue("@d2", Me.DateTimePicker2.Value.Date)

               da1.Fill(ds1, "Hodor_Table")

                DataGridView2.DataSource = ds1.Tables("Hodor_Table") 
 لكم جزيل الشكر 
دمتم بود 

 اخي ومعلمي الفاضل   
                                     جيولوجي مبتدئ 

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

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


وارجو التكرم ومساعدتى  كما مرفق صورة توضيح المطلوب
السلام عليكم
جربت تستخدم دالة date difference  ؟ 
انا كمان مبتدئ زيك بس بحاول اساعد ?
الرد }}}
تم الشكر بواسطة: new_programer , asemshahen5
#7
انا بحاول اتعلم التعامل مع الوقت

لكن لم أري دروس كثيرة لشرح مثل هذا الأمور

الشرح قليل جدا

طيب ممكن اعرف ازاى احدد الوقت الدخول

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

ازاى احدد وقت الدخول
الرد }}}
تم الشكر بواسطة: asemshahen5


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] يوجد مثال|كيف نعيد صياغة نص ليكون تاريخ مقبول justforit 7 299 01-11-25, 10:54 PM
آخر رد: justforit
  [VB.NET] مثال و مشكلة (تشفير نص) mmaalmesry 5 898 09-05-25, 08:05 AM
آخر رد: mmaalmesry
  ارجو تعديل الكود جلب البيانات عن طريق اجراء مخزن - مرفق مثال new_programer 0 620 05-02-25, 01:51 AM
آخر رد: new_programer
  مساعدة في كود الوقت fireswored1 3 342 19-01-25, 11:17 AM
آخر رد: fireswored1
  كيفية معرفة الجهاز رئيسي ام فرعي المتألق9 1 394 13-11-24, 06:41 PM
آخر رد: justforit
  معرفة عدد صفوف الجريد فيو بشرط معين modymody300894 4 651 12-11-24, 02:22 PM
آخر رد: salamandal
  اريد جلب عدد محدد من السجلات من قاعدة بيانات اكسس الى الداتا قراد فيو يوجد مثال khalidalwdi 2 666 12-11-24, 12:19 PM
آخر رد: khalidalwdi
  كيفية معرفة تاريخ انشاء ملف وحدفه المتألق9 2 504 07-11-24, 08:54 AM
آخر رد: F.H.M
  عند تصدير التاريخ للإكسل يظهر معه الوقت علماُ لم اسجل الوقت. أبووسم2 2 373 24-09-24, 10:21 PM
آخر رد: أبووسم2
  معرفة حجم ملف PDF تم تحديد مساره modymody300894 1 292 10-08-24, 03:35 PM
آخر رد: ميدو الفنان

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


يقوم بقرائة الموضوع: