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

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

عندي كريستال ريبورت يقوم بعرض بيانات موظف لمعرفة المرتب المستحق للموظف وذلك من خلال داتا بيز اكسيس 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 كتب : [ -> ]
اللهم أمين وإياك أخي

تمنياتي لك 
بالتوفيق والنجاح

جزاك الله خيرا اخي 
نفذت الفكره ونجحت بفضل الله ثم بفضل مساعدتك 
بارك الله في وربنا يزيدك ان شاء الله
(31-01-19, 06:54 PM)Emam emam كتب : [ -> ]جزاك الله خيرا اخي 
نفذت الفكره ونجحت بفضل الله ثم بفضل مساعدتك 
بارك الله في وربنا يزيدك ان شاء الله

الحمد لله والشكر لله أخي

الفضل لله وحده
اللهم أمين وإياك