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

يوجد عندي كود لمعرفة عدد غياب الموظفين بين تاريخين ولكن يوجد فية خطأ يرجى منكم التصحيح

استعمل فيجوال 2008 مع قاعدة بيانان اكسس 2003

مرفق الكود مع مثال للتجربة


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click


        Dim cmd As New OleDbCommand
        cmd.Connection = Conn
        cmd.CommandType = CommandType.Text
        cmd.CommandText = "select sum(Holiday)as Total from HolidayBooks where DateDay between #" & TextBox1.Text & "#" & "and" & "#" & TextBox2.Text & "' and HolidayBooks.CoName LiKE '%" & Trim(TextBox4.Text) & "' group by HolidayBooks.CoName "
        Conn.Open()
        Dim Total As Integer = cmd.ExecuteScalar
        Conn.Close()
        TextBox6.Text = Total.ToString
        Conn.Close()



    End Sub


الملفات المرفقة
.rar   WindowsApplication11.rar (الحجم : 118.92 ك ب / التحميلات : 52)
الرد
تم الشكر بواسطة:
#2
السلام عليكم

هل يختلف هذا الموضوع عن موضوعك السابق:
مطلوب كود جمع عدد غياب الموظفين بين تاريخين

جرب هذا التعديل
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

   Dim sqlStr As String = _
       " SELECT  Sum([Holiday]) AS [Total] " & _
       " FROM    [HolidayBooks] " & _
       " WHERE   ( YEAR([DateDay]) = YEAR(NOW) ) " & _
       "         AND ( [CoName] LIKE '%" & Trim(TextBox4.Text) & "') " & _
       " GROUP   BY [CoName] "

   Dim cmd As New OleDbCommand(sqlStr, Conn)

   Conn.Open()
   Dim Total As Integer = cmd.ExecuteScalar
   Conn.Close()

   TextBox6.Text = Total.ToString

End Sub
الرد
تم الشكر بواسطة:
#3
اشكرك اخي العزيز مساعدة اولا
نعم نفس الموضوع السابق حيث تم الحل بطريقة برمجية تختلف كثيرا عما نستخدم
وعند تجربة الحل الجديد في هذة المشاركة فان جميع النتائج تظهر خطأ حيت نريد ان نبحث بين تاريخين مثلا
من تاريخ 2017/10/05 الى تاريخ 2017/12/31 لا تعطينا العدد الصحيح لغياب الموظف

اخي العزيز
دائما عند البحث بيت تاريخين نستعمل between اين دورها في هذا المثال

شكرا على طولة الصبر
الرد
تم الشكر بواسطة:
#4
ما المشكلة في طريقة البرمجة السابقة !



عندما رأيت التاريخ بداية السنة في مربع النص TextBox1 ونهاية السنة في مربع النص TextBox2 ظننت أن المطلوب هو البحث في السنة كاملة

حسناً، طالما المسألة فيها تغيير للتاريخ، تفضل هذا الكود
كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

   Dim sqlStr As String = _
       " SELECT  Sum([Holiday]) AS [Total] " & _
       " FROM    [HolidayBooks] " & _
       " WHERE   ( [DateDay] BETWEEN @d1 AND @d2 ) " & _
       "         AND ( [CoName] LIKE @nm ) " & _
       " GROUP   BY [CoName] "

   Dim cmd As New OleDbCommand(sqlStr, Conn)
   cmd.Parameters.AddWithValue("@d1", CDate(TextBox1.Text))
   cmd.Parameters.AddWithValue("@d2", CDate(TextBox2.Text))
   cmd.Parameters.AddWithValue("@nm", "%" & Trim(TextBox4.Text))

   Conn.Open()
   Dim Total As Integer = cmd.ExecuteScalar
   Conn.Close()

   TextBox6.Text = Total.ToString

End Sub
الرد
تم الشكر بواسطة:
#5
اخي العزيز مساعدة اشكرك من كل قلبي على هذا الجهد

لكن اخي العزيز تم وضع الكود في المثال وتجربتة  ولا نتائج بين تاريخين
ارفق لك المثال مع الكود مرة اخرى


الملفات المرفقة
.rar   WindowsApplication666.rar (الحجم : 162.39 ك ب / التحميلات : 45)
الرد
تم الشكر بواسطة:
#6
لتسير بشكل صحيح، يجب أن تتم بناء قاعدة البيانات من حيث الجداول والربط بينهم بالشكل الصحيح.


عادة جدول الموظفين Employees يكون فيه فقط بياناتهم الثابتة والتي نادراً ما يتم التعديل عليها.
أما مهامهم وإنجازاتهم تتم في جداول أخرى يتم فيه بالاشارة لرقم الموظف بأحد أعمدتها مثل EmployeeID.
الرد
تم الشكر بواسطة:
#7
اخي العزيز مساعدة كل الاحترام والتقديم
اخي العزيز لو انتبهت الى المثال المرفق من قبل لتجد هناك جدول للموظفيين ومعلوماتهم اسم الجدول SalaryMan
وهناك جدول اخر للحركات واسم الجدول HolidayBooks وكذالك العلاقة بينهم موجودة

مع كل الاحترام
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [نقاش] معرفة وجود الملف معاذ_ابراهيم 2 53 14-03-19, 05:55 PM
آخر رد: معاذ_ابراهيم
  [VB.NET] مساعده في تصحيح الكود dubai.eig 4 144 20-02-19, 05:48 PM
آخر رد: elgokr
  مشكلة كود البحث بين تاريخين احمد129 12 390 11-02-19, 07:56 PM
آخر رد: princelovelorn
  [سؤال] ايقاف البرنامج تلقائي بعد فترة ثلاث ايام من الانتاج soloxocf1 8 463 27-01-19, 01:40 AM
آخر رد: ابو ليلى
  معرفة نوع اصدار الويندوز 32 او 64 atefkhalf2004 13 427 21-12-18, 02:45 AM
آخر رد: elgokr
Rainbow [كود] البحث عن سجل بين تاريخين اسامه الهرماوي 6 299 20-12-18, 03:19 PM
آخر رد: اسامه الهرماوي
  [VB.NET] بعد برمجة البرنامج البحث بيت تاريخين يعمل علي جهازي ولا يعمل عند العميل shoma79 3 237 27-11-18, 05:25 AM
آخر رد: shoma79
  هل يوجد كود لمعرفة باسورد حهاز الكمبيوتر مثل كود معرفة اسم المستخدم تناسيم 2 232 15-11-18, 03:32 PM
آخر رد: dasktop
  معرفة اسامي الملفات التنفيذية dasktop 12 473 03-11-18, 01:29 PM
آخر رد: elgokr
  [سؤال] كود البحث بين تاريخين livealone2002 12 552 03-11-18, 06:18 AM
آخر رد: Rabeea Qbaha

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم