تقييم الموضوع :
  • 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 ك ب / التحميلات : 40)
الرد
تم الشكر بواسطة:
#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 ك ب / التحميلات : 33)
الرد
تم الشكر بواسطة:
#6
لتسير بشكل صحيح، يجب أن تتم بناء قاعدة البيانات من حيث الجداول والربط بينهم بالشكل الصحيح.


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

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


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] استعراض الداتا جريد فيو بين تاريخين الو0 3 98 16-04-18, 05:27 AM
آخر رد: الو0
  معرفة اصل نوع الكنترول ali.alfoly 2 88 17-03-18, 05:52 AM
آخر رد: ali.alfoly
  كيفية معرفة الاسم الموجود بالرابط anes 2 108 02-03-18, 03:05 AM
آخر رد: anes
  استعلام حصر السنة بين تاريخين العيدروس 2 64 28-02-18, 05:31 AM
آخر رد: العيدروس
  كيفية معرفة رقم الهارديسك المتألق9 1 32 23-02-18, 12:44 AM
آخر رد: عبد العزيز البسكري
  معرفة مصدر الخطأ عبد العزيز البسكري 2 36 15-02-18, 04:14 AM
آخر رد: عبد العزيز البسكري
  [كود] إيجاد الفرق بين تاريخين محمد مسافر 8 7,056 12-02-18, 01:37 PM
آخر رد: أبووسم
  [VB.NET] معرفة عدد الصفوف بقاعدة البيانات محمد اسماعيل 4 50 04-02-18, 07:06 PM
آخر رد: محمد اسماعيل
  تصحيح ظهور الارقام في التاكست بكس العيدروس 18 80 02-02-18, 11:01 AM
آخر رد: العيدروس
  معرفة رصيد الحساب التجميعي nooralcown 3 103 17-01-18, 02:12 PM
آخر رد: nooralcown

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


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