اذهب الي المحتوي
أوفيسنا

AbuuAhmed

الخبراء
  • Posts

    1099
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    18

كل منشورات العضو AbuuAhmed

  1. حدسي يقول أنهم يريدون التاريخ بدون الفاصلة "سلاش" لو فكرة الأستاذ عبدالله ما صلحت جرب نفس الفكرة مع تعديل بسيط: =TEXT(D7;"'dd/mm/yyyy")
  2. لم أمر بتجربة سابقة، وقد حاولت وتمت المشاركة ولكن الأكواد لم تعمل! هل لأحدكم تجربة في الموضوع؟
  3. وهذه نفس سابقتها ولكن مختصرة: = IFERROR(RIGHT(A4, FIND(".", A4, 1)),0) * 1000
  4. @ابوخليل أرجو الانتباه أنه تم التعديل على المرفق تعديلا بسيطا لا يؤثر على النتائج ولكنه الأصح بسبب قلة التركيز. التعديل في قوس الإغلاق للدالة يفترض أن يكون للوقت قبل عملية الضرب وليس بعد عملية الضرب. Me.txtResult1 = CDbl(Me.txtTime) * Me.txtMultip Me.txtResult2 = CDbl(Me.txtTime) * Me.txtMultip * 24 MsgBox Format(CDbl(Me.txtTime) * Me.txtMultip, "Short Time"), , _ Format(CDbl(Me.txtTime) * Me.txtMultip, "hh:mm")
  5. ويمكن تحويله إلى نص إذا تجاوز 24 ساعة بشكل وقت عند الرغبة Times_02.accdb
  6. نعم كلامك وكلام الأستاذ جعفر صحيح، وهذا لا يعني أنه لم يكن خلاف ما هو عليه الآن فقد يكون ما يكروسوفت طورت عملية التخزين. In MS Access, text fields store the exact length of the entered text, up to the defined field size. For Short Text fields (formerly Text), the maximum length is 255 characters, according to Microsoft Support. For Long Text fields (formerly Memo), the storage capacity is much larger, up to 2^30-1 bytes, but can be limited in Access web apps by setting a character limit according to Microsoft Support. Here's a more detailed breakdown: Short Text (formerly Text): The default size is 255 characters. according to DePaul University You can adjust the Field Size property to specify a shorter length (from 1 to 255). Access only stores the characters entered, not unused space.
  7. وأفضل تكون المعادلة بدون عملية الطرح حيث أحيانا عملية الطرح تفقد الرقم جزء من دقته من واقع تجارب. كالتالي: = IF(FIND(".", A4, 1) = 0, 0, RIGHT(A4, FIND(".", A4, 1)) * 1000)
  8. لو تبدل دالة Int بدالة Trunc أفضل حتى لا يتبدل الكسر مع المبالغ السالبة.
  9. رحمه الله وغفر له وجعل مثواه الجنة. عظم الله لكم الأجر
  10. أعتذر فقد تكون خانتني الذاكرة .. وأخطأت في هذه الجزئية فالمقارنة هي لحجم تحزين السجل الواحد، فلو عندنا حقل نصي مثلا طوله 255 حرفا وحفظنا فيه كلمة بطول خمسة حروف فالأكسس سوف يستخدم مساحة 255 حرفا والـ SQL سوف يخزنها بحجم 5 حروف فقط. أي أن سجل الأكسس ثابت الحجم وسجل الـ SQL متغير الحجم.
  11. سلوك قاعدة بيانات الأكسس كل سجل يضاف سيأخذ مساحة من التخزين وهذا طبيعي ولكن غير الطبيعي أن المساحة ستبقى ولو حذفت السجل. وحل هذه المشكلة ستكون باستخدام "الضغط والإصلاح". ولكن هذه المشكلة لن تحدث مع قاعدة بيانات SQL فسلوكها مختلف بحيث تتخلص من مسحات السجلات المحذوفة أولا بأول أو تعيد استخدامها بدون عمليات الضغط. معلومات قديمة جدا وربما استجدت أمور أنا بعيد عنها.
  12. مشكلتك في هذه الجملة فيه غلطتين، الأولى And خارج نص الجملة، والأخرى في اسم الحقل ناقص حرف. الخطأ "#" And "[usr_id] ='" التصحيح "# And [user_id] ='"
  13. تم تتقيح الأكواد. تم حذف الاستعلام qryAddMissingEmps لعدم الحاجة له بعد تنقيح الأكواد. تم حذف الفهرس من حقل UserId للجدول tblAttendanceAll. Attendance_11.rar
  14. تمت المهمة، ويمكنكم تحسينه إذا احتاج لذلك. مشكلة الحضور لأني غفلت عن وجود وقت مع التاريخ ويفترض أن أتخلص من الوقت باستخدام دالة Fix تجنبت عمليات الحذف والإضافة للسجلات حتى لا تتضخم قاعدة البيانات مع الوقت وكل التحديثات باستخدام التعديل. اختبار جميع الموظفين ليوم واحد عن طريق إجراء Test بتمرير تاريخ معين. ويمكن استخدام دالة موظف واحد لشهر كامل باستدعاء منفصل بإضافتكم لإجراء آخر.
  15. سامحني سأتأخر عليك سأقوم بالمطلوب أو بعضه الليلة إن شاء الله.
  16. تم إضافة حقل للإجازات المرضية في الجدول كان قد سقط سهوا. تم تحديث أيام الحضور والغياب. لا أعرف لماذا هذه المرة تفكيري كله في الأكواد ولم أفكر في الاستعلامات. ما عندي شيء آخر آخر أضيفه.
  17. هذه محاولة غير مكتملة فهي فقط تحدد العطل الأسبوعية والإجازات حتى الأن الباقي في حال راقت لكم الفكرة. صار لي فترة طويلة بعيد عن "شغلات" الاستعلامات وأفكار حلول شؤون الموظفين. نسيت أوضح أن الحل في الكود، والنتيجة ستكون في جدول tblEmpAttendance
  18. أهلا أبا خليل الدالة ستناديها مرتين مرة للدخول ومرة للخروج للدخول ستدخل وقت الدخول وقيمة النوع 0 وللخروج ستدخل وقت الخروج وقيمة النوع -1 ومسألتك سأعمل عليها الليلة إن شاء الله إذا لم يسبقني أحد في حلها.
  19. وهذه دالة مختصرة على نمط دالتيك وهي تعمل للدخول والخروج للدخول النوع 0 أو false للخروج النوع -1 أو true Function LostTime(Period As Integer, ByVal inOutTime As Date, inOutType As Boolean) As Integer Dim rst As Recordset Dim Result As Double Set rst = CurrentDb.OpenRecordset("tbl_Ftrat", dbOpenSnapshot) With rst .FindFirst "id=" & Period If Not .NoMatch Then inOutTime = inOutTime - Fix(inOutTime) If inOutType = 0 Then Result = !start_work - inOutTime + !start_free / 1440 Else Result = inOutTime - !end_work + !end_free / 1440 End If If Result < 0 Then LostTime = Abs(Round(Result * 1440, 0)) End If End With 'rst.Close Set rst = Nothing End Function
×
×
  • اضف...

Important Information