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

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

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

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

[attachment=27325]
ادري ان المشروع ليس تماما كما تريد لكن احببت المشاركة فقط

وهذا  باستخدام أكسس
دمج المشاركات مشكلةSad
PHP كود :
Public Class Form2
    Dim dbpath 
As String IO.Path.GetDirectoryName(Application.ExecutablePath) & "\db.accdb"
 
   Dim str As String "provider=microsoft.ace.oledb.12.0;data source=" dbpath
    Private Sub Button1_Click
(sender As ObjectAs EventArgsHandles Button1.Click
        Using con 
As New OleDb.OleDbConnection(str)
 
           Using cm As New OleDb.OleDbCommand("select min(t) from tb"con)
 
               If con.State ConnectionState.Closed Then con.Open()
 
               If IsDBNull(CDate(cm.ExecuteScalar).ToShortTimeString) = False Then
                    TextBox1
.Text CDate(cm.ExecuteScalar).ToShortTimeString
                End 
If
 
               If con.State ConnectionState.Open Then con.Close()
 
           End Using
        End Using
    End Sub
    Private Sub Button2_Click
(sender As ObjectAs EventArgsHandles Button2.Click
        Using con 
As New OleDb.OleDbConnection(str)
 
           Using cm As New OleDb.OleDbCommand("select max(t) from tb"con)
 
               If con.State ConnectionState.Closed Then con.Open()
 
               If IsDBNull(CDate(cm.ExecuteScalar).ToShortTimeString) = False Then
                    TextBox2
.Text CDate(cm.ExecuteScalar).ToShortTimeString
                End 
If
 
               If con.State ConnectionState.Open Then con.Close()
 
           End Using
        End Using
    End Sub
    Private Sub Button3_Click
(sender As ObjectAs EventArgsHandles Button3.Click
        Using con 
As New OleDb.OleDbConnection(str)
 
           Using cm As New OleDb.OleDbCommand("insert into tb(t) values(@t)"con)
 
               cm.Parameters.Clear()
 
               cm.Parameters.AddWithValue("@tn"dt.Value)
 
               If con.State ConnectionState.Closed Then con.Open()
 
               Try
                    cm
.ExecuteNonQuery()
 
                   MsgBox("تم")

 
               Catch ex As Exception
                    MsgBox
(Err.DescriptionMsgBoxStyle.Critical"")
 
               End Try
 
               If con.State ConnectionState.Open Then con.Close()
 
           End Using
        End Using
    End Sub
End 
Class 

هذا هو فورم التعامل مع اكسس
تسلم ربنا يباركلك

جاري التجربه
(26-11-21, 03:11 PM)new_programer كتب : [ -> ]تسلم  ربنا يباركلك

جاري التجربه

ويباركلك
السلام عليكم ورحمة الله وبركاته
اخي الكريم
لماذا لاتعمل عمود للحضور وأخر للانصراف ؟ لانك بهذا الشكل يمكنك جلب بيانات اي عمود تريد .. ناهيك عن عمل الفرق بين العمودين لتحصل على الوقت الفعلي للدوام هذا من جانب , اما الجانب الآخر هو كيف يمكن للبرنامج معرفة ان كان الوقت هو دخول او خروج ؟ الامر ايضا بسيط ستنشئ حقل من نوع Boolean  نضع فيه القيمة True ان تم تسجيل الحضور عبر فورم للدخول وسيتم الاستعلام عن الموظف بتاريخ اليوم الحالي فإن كان له سجل بتاريخ اليوم فهذا يعني انه سجل دخول وقيمة الحقل True ولن يسمح تسجيله مرة أخرى وان لم يظهر له سجل بتاريخ اليوم يضاف اسمه وتاريخ ووقت الحضور وعند الانصراف نظهر فورم للانصراف سيتم الاستعلام عن الحاضرين بشرط الحقل True فإن كان موجود نسجل له الخروج في حقل وقت الخروج وتحول فيمة الحقل البوليان الى False اتمنى ان تكون الفكرة واضحة
ياريت كنت فعلا عملت كدة


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