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

تطبيق الكود لكل فرد على حده


Omar_Kreem

الردود الموصى بها

تمكنت من الحصول على كود يمكنه من تحديد الأيام الناقصه بين تاريخين ..

إلا أن الكود يطبق على كل السجلات رغم اختلاف المعرف لكل فرد .. مثلاً:

الفرد رقم (1): لديه يومان هما 1/3/2017، 5/3/2017

الفرد رقم (2): لديه يومان كذلك هما 8/3/2017، 10/3/2017.

عندما أطبق الكود تكون النتيجة هى إظهار الأرقام الناقصة:

2 ، 3 ، 4 ، 6 ، 7، 9.

دون الفصل بين أرقام كل شخص.

والصحيح:

الفرد الأول يكون له أرقام: 2، 3، 4.

والفرد الثانى يكون له رقم: 9.

 

اريد تطبيق الكود على كامل السجلات مع مراعاة أن يكون التطبيق لكل فرد على حده ..

db2.rar

تم تعديل بواسطه omar19-3
رابط هذا التعليق
شارك

في ١٤‏/٤‏/٢٠١٧ at 16:42, omar19-3 said:

تمكنت من الحصول على كود يمكنه من تحديد الأيام الناقصه بين تاريخين ..

إلا أن الكود يطبق على كل السجلات رغم اختلاف المعرف لكل فرد .. مثلاً:

الفرد رقم (1): لديه يومان هما 1/3/2017، 5/3/2017

الفرد رقم (2): لديه يومان كذلك هما 8/3/2017، 10/3/2017.

عندما أطبق الكود تكون النتيجة هى إظهار الأرقام الناقصة:

2 ، 3 ، 4 ، 6 ، 7، 9.

دون الفصل بين أرقام كل شخص.

والصحيح:

الفرد الأول يكون له أرقام: 2، 3، 4.

والفرد الثانى يكون له رقم: 9.

 

اريد تطبيق الكود على كامل السجلات مع مراعاة أن يكون التطبيق لكل فرد على حده ..

db2.rar

السلام عليكم ورحمة الله وبركاته
اخي العزيز عمر انا ما عملت لك بنفس الكود 
بل عملت لك بطريقة اخرى
اولا اضفت جدول جديد باسماء الموظفين

1.PNG.ffab07ba8d2de09c4b54a168e20aeeb2.PNG

وبعدين عملت علاقات واحد لمتعدد

2.PNG.c6298653495b748a168508fb5503d7a7.PNG

ثالثا عملت نموذجين
نموذج الرئيسي ومصدره جدول اسماء الموظفين

ونموذج الفرعي لكي يسجل ايام الغياب

و في نموذج الرئيسي اضفت مرعين نصيين باسماء تاريخ الاول والتاريخ الثاني

3.PNG.c86761dfe653390a62cdc34743655432.PNG

و للتاريخ الاول مصدره هو التاريخ الاول للموظف اي كتبت هذا الكود لكي يأخذ التاريخ الاول للموظف

=IIf([ID]>0;DFirst("[StartDate]";"[times]";" [times]![ID]=" & [ID]))

وللتاريخ الثاني كتبت هذا الكود لكي يأخذ التاريخ الاخير للموظف 

=IIf([ID]>0;DLast("[StartDate]";"[times]";" [times]![ID]=" & [ID]))

وبعدين اضفت زر ابدأ العملية وكتبت هذا الكود عند الضغط على كليك عليه في محرر فيجوال

Option Compare Database

Private Sub Command15_Click()
Dim i As Integer
    Dim i1 As Integer
        Dim sCount As Integer
            Dim F1Count As Integer
F1Count = DCount("*", "TBLMYMOAZIFIN")
    DoCmd.GoToRecord , , acFirst
For i1 = 0 To F1Count - 1
    sCount = DateDiff("d", Me.startd, Me.endd) - 2
        Forms!form1!formLost_Serial.SetFocus
            DoCmd.GoToRecord , , acNewRec
For i = 0 To sCount
    Forms!form1!formLost_Serial!missing = Format(DateAdd("d", i, Me.startd + 1), "d")
        DoCmd.GoToRecord , , acNext
    Next i
Forms!form1.SetFocus
    DoCmd.GoToRecord , "FORM1", acNext
        Next i1
    DoCmd.Requery
End Sub

واتفضل مع القاعدة db2.rar

اتمنى ان يكون هو مطلبك

تحياتي

رابط هذا التعليق
شارك

جزاك الله خيراً أ/Shivan  أنظر بعد زيادة الأيام تجده يضع بجدول Lost_Serial كل الأيام تقريبا وليست المفقوده فقط ....

db3.rar

تم تعديل بواسطه omar19-3
رابط هذا التعليق
شارك

15 دقائق مضت, omar19-3 said:

جزاك الله خيراً أ/Shivan  أنظر بعد زيادة الأيام تجده يضع بجدول Lost_Serial كل الأيام تقريبا وليست المفقوده فقط ....

db3.rar

كلا اخي

شوف الجدول

1.PNG.a5ff1baafe2d48b0cee909e495c76434.PNG

رابط هذا التعليق
شارك

14 دقائق مضت, omar19-3 said:

نعم أستاذى ... رجاء انظر الجدول Lost_Serial بعد زيادة الأيام والأشخاص ..

الكود بيعمل بشكب عادي

ويعطيك التواريخ بين اول تاريخ والاخر تاريخ في جدول تايمس

انظر الى جدول تايمس ما دخلت انت هو ايام الشهر كامل
اما في جدول لاست سريال بها تواريخ بين اول التاريخ والاخر تاريخ

تحياتي

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information