السلام عليكم ورحمة الله
عندي كريستال ريبورت يقوم بعرض بيانات موظف لمعرفة المرتب المستحق للموظف وذلك من خلال داتا بيز اكسيس 2007
واريد حساب عدد ايام الحضور وعدد ايام الغياب للموظف من خلال الكريستال ريبورت
بمعني انه عند تسجيل حضور الموظف يكون من خلال تشيك بوكس ويحفظ في الدتا بيز وعند عرضه في التقرير يظهر بقيمة True Or False فكيف احول هذه القيم ليقوم الريبورت بحسابها.
وجزاكم الله خيرا.
وعليكم السلام ورحمة الله وبركاته
مجرد فكرة
دالة لحساب عدد السجلات بدلالة رقم الموظف ودلالة checkbox في حالة true تاتي لك بعدد ايام حضوره
وأخرى لحساب عدد السجلات بدلالة رقم الموظف ودلالة checkbox في حالة false تاتي لك بعدد ايام غيابه
مثال على الدالة
كود :
Public Function Rows_Count_Tbl(Table As String, idemp As String, status As Boolean)
Dim sql As String = ""
sql = "SELECT * FROM " & TABLE & " where id='" & idemp & "' and status = '" & status
Dim adp As New OleDb.OleDbDataAdapter(sql, con)
Dim ds As New DataSet
adp.Fill(ds)
Dim dt = ds.Tables(0)
Dim rowscount As String
rowscount = dt.Rows.Count
MsgBox(dt.Rows.Count)
adp.Dispose()
ds.Dispose()
dt.Clear()
Return rowscount
End Function
طريقة الاستخدام
كود :
'عدد ايام الحضور
Dim numtrue As Integer
numtrue = Rows_Count_Tbl("table", 1, True)
'عدد ايام الغياب
Dim numfalse As Integer
numfalse = Rows_Count_Tbl("table", 1, False)
تمنياتي لك بالتوفيق
(27-01-19, 06:57 PM)princelovelorn كتب : [ -> ]وعليكم السلام ورحمة الله وبركاته
مجرد فكرة
دالة لحساب عدد السجلات بدلالة رقم الموظف ودلالة checkbox في حالة true تاتي لك بعدد ايام حضوره
وأخرى لحساب عدد السجلات بدلالة رقم الموظف ودلالة checkbox في حالة false تاتي لك بعدد ايام غيابه
مثال على الدالة
كود :
Public Function Rows_Count_Tbl(Table As String, idemp As String, status As Boolean)
Dim sql As String = ""
sql = "SELECT * FROM " & TABLE & " where id='" & idemp & "' and status = '" & status
Dim adp As New OleDb.OleDbDataAdapter(sql, con)
Dim ds As New DataSet
adp.Fill(ds)
Dim dt = ds.Tables(0)
Dim rowscount As String
rowscount = dt.Rows.Count
MsgBox(dt.Rows.Count)
adp.Dispose()
ds.Dispose()
dt.Clear()
Return rowscount
End Function
طريقة الاستخدام
كود :
'عدد ايام الحضور
Dim numtrue As Integer
numtrue = Rows_Count_Tbl("table", 1, True)
'عدد ايام الغياب
Dim numfalse As Integer
numfalse = Rows_Count_Tbl("table", 1, False)
تمنياتي لك بالتوفيق
بارك الله فيك اخي علي ردك
سأجرب الكود وأوافيك بالأخبار ان شاء الله .
مشكور علي مجهودك اخي وبارك الله فيك مره اخري
(30-01-19, 08:00 PM)princelovelorn كتب : [ -> ]اللهم أمين وإياك أخي
تمنياتي لك
بالتوفيق والنجاح
جزاك الله خيرا اخي
نفذت الفكره ونجحت بفضل الله ثم بفضل مساعدتك
بارك الله في وربنا يزيدك ان شاء الله