الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

البحث في السجلات وتجديدها

بدأه captin في 20 أكتوبر 2014 · 12 رد · 1,486 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

 

أرجو المساعدة في عمل برنامج حيث أن المطلوب عند فتح النموذج يقوم البرنامج باستعراض السجلات في خانة تاريخ الإجازة ( الإجازة_من ) و (الإجازة_إلى) فإذا كان هناك تاريخ مكتوب في إحدى الخانتين أو كليهما يتم كتابة ( إجازة ) في خانة الحالة وإذا كانت خانتي التاريخ خالية يتم كتابة ( على رأس عمله ) في خانة الحالة

وعند إنتهاء مدة الإجازة يقوم البرنامج بكتابة ( على رأس عمله ) في خانة الحالة ويتم مسح التاريخ من خانتي ( الإجازة_من ) و (الإجازة_إلى)

 

وتفضلوا بقبول فائق التقدير والإحترام

#2

عفوا المرفقاتالإجازات.rar

#3

للرفع :)  :)  :)

#4

السلام عليكم ورحمة الله وبركاته

 

أرجوا ممن لديه الحل أن لا يبخل علينا به

وأن يجعله الله في موازين حسناته

#5

وعليكم السلام اخي :)

 

الكود في قاعدة بياناتك مقفل بكلمة سر :(

 

 

جعفر

#6

السلام عليكم ورحمة الله وبركاته


 


أرجوا المعذرة فقد نسيت إلغاء التأمين من قاعدة البيانات حيث أن هذا النموذج جزء من قاعدة بيانات كبيرة توجد بها بيانات شخصية


 


مرفق الملف بعد إلغاء التأمين منه


 


وشاكراً للجميع ولك أخي جعفر الإهتمام


#7

السلام عليكم ورحمة الله وبركاته


 


أرجوا المعذرة فقد نسيت إلغاء التأمين من قاعدة البيانات حيث أن هذا النموذج جزء من قاعدة بيانات كبيرة توجد بها بيانات شخصية


 


مرفق الملف بعد إلغاء التأمين منه


 


وشاكراً للجميع ولك أخي جعفر الإهتمام


 


الإجازات2.rar


#8

السلام عليكم ورحمة الله وبركاته


 


أرجوا المعذرة فقد نسيت إلغاء التأمين من قاعدة البيانات حيث أن هذا النموذج جزء من قاعدة بيانات كبيرة توجد بها بيانات شخصية


 


مرفق الملف بعد إلغاء التأمين منه


 


وشاكراً للجميع ولك أخي جعفر الإهتمام


 


الإجازات2.rar


#9

وعليكم السلام :)

 

ولو اني ما اتفق معاك في الطلب الثاني ، ولكن تفضل :)

Private Sub Form_Current()

'1
    If Len(Me.الإجازة_من & "") <> 0 Or Len(Me.الإجازة_إلى & "") <> 0 Then
        Me.الحالة = "اجازة"
    Else
        Me.الحالة = "على رأس عمله"
    End If
    

'2
    If Len(Me.الإجازة_من & "") <> 0 Or Len(Me.الإجازة_إلى & "") <> 0 Then
        If Date > Me.الإجازة_إلى Then
            Me.الإجازة_من = ""
            Me.الإجازة_إلى = ""
            Me.الحالة = "على رأس عمله"
            
        End If
    End If

    
End Sub

الطريقة الصحيحة في قاعدة البيانات ، ان تحفظ كل معلومة يتم ادخالها (طبعا المعلومة المهمة) ، وفي نظري تواريخ الاجازات مهمة ، فلا يجب حذفها !!

الطريقة الصحيحة انك تعمل جدول خاص بالاجازات ولا تحذف شئ منها ، وانما دائما تضيف ،

اما عرض اذا كان الموظف في اجازة او على راس عمله ، فيمكن الوصول اليه بشتى الطرق :)

 

 

جعفر

311.الإجازات2.mdb.zip

تم تعديل هذه المشاركة بواسطة jjafferr في 29 أكتوبر 2014 في 11:40

#10

السلام عليكم ورحمة الله وبركاته

 

أشكرك أخي جعفر

 

تم تجربة المرفق بعد التعديل عليه ولكن وجدت أنه لا يتم تنفيذ الحدث تلقائيا عند فتح النموذج ولكن يجب أن تفتح السجل الخاص بالموظف لكي يتم تفعيل الحدث وهذا صعب حيث يوجد الكثير من الموظفين ولهذا أرجوا أن يتم الحدث تلقائيا بدون تدخل أي بمجرد فتح النموذج يستعرض البرنامج جميع الموظفين وينفذ المطلوب حسب التاريخ الموجود (LOOP)

 

ولك خالص الشكر والتقدير

#11

تفضل :)

 

ولكن انتبه ، عندما يكون جدولك كبيرا ، فالنموذج سيأخذ وقت الى ان يكمل جميع السجلات ،

لذا ، قد يكون من الافضل ان تجعل الكود على رز :)

 

 

جعفر

311.الإجازات2.mdb.zip

#12

السلام عليكم ورحمة الله وبركاته

 

شكرا لكم أخي جعفر على مجهودك وجعله الله في ميزان حسناتك

هذا هو المطلوب ( كفيت ووفيت )

 

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

 

وتفضل مني خالص الشكر والتقدير والإمتنان

#13

حياك الله :)

 

الكود الجديد هو نفس الكود السابق ، 

غير انه لما يطلب البيانات من النموذج ، فالكود هكذا:

Me.الإجازة_من

 

بينما في Recordset ، فالكود هكذا:

rst!الإجازة_من

 

اما باقي الكود فهو لعمل الـ Loop :)

 

 

جعفر

مواضيع مشابهة