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

طلبات الاجازة للمستخدمين


يزٍن

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

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

كيفكم اخواني ان شاء الله طيبييين ..

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

لدي برنامج اجازات للموظفين وارغب بوضع لكل موظف اسم مستخدم وباسورد منفصل لحاله ويكون له لوحة تحكم خاصه به بحيث اذا يحتاح طلب أجازة كل ماعليه الدخول للبرنامج وطلبها من هناك ..

طبعا حليت مشاكل كثيرة منها الصلاحيات وووالـخ ولاكن تبقي كيفية عند الدخول بالاسم المستخدم والباسورد يكون لديه لوحة خاصه به يقدم بها طلب الاجازة ..

* طريقة *

وضع لكل موظف نموذج خاص به ويحتوي على باسورد ( لاكن المشكلة اريد طبع اسم الموظف بمجرد الدخول بالباسورد على النموذج الخاص به ) ..

شاكر لكم حسن تعاونكم ، مقدماً ..

اخوكم

يزن

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

الله يعطيك العافيه اخوي نارت .

مرفق البرنامج بدون اي تعديلات بخصوص اليوزرات والباسوردات .

عجزت عن حلها فأرجوا منكم توضيح السبب لأزداد علماً وليزداد رواد المنتدى او عملها ليتم الكشف على البرنامج ومعرفة الاسباب .

المطلوب معرفته

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

تمنياتي لكم التوفيق .

يزٍن

إجازات.rar

تم تعديل بواسطه يزٍن
رابط هذا التعليق
شارك

أخي العزيز

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

وعلى جهاز المستخدم يتم انشاء قاعدة بيانات تحتوى نموذج لتعبئة طلب الاجازة فقط

على جهاز المدير نموذج لاظهار الطلبات غير الموافق عليها بعد ، وبموافقته يتم ترحيلها بالطريقة التى تراها مناسبة

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

قم بانشاء جدول جديد لطلبات الاجازة حسب المعلومات التي تلزمك و ارفقة لاطبق لك الفكرة ... ان قدر لي ذلك

والله من وراء القصد..

....

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

أخي العزيز

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

وعلى جهاز المستخدم يتم انشاء قاعدة بيانات تحتوى نموذج لتعبئة طلب الاجازة فقط

على جهاز المدير نموذج لاظهار الطلبات غير الموافق عليها بعد ، وبموافقته يتم ترحيلها بالطريقة التى تراها مناسبة

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

قم بانشاء جدول جديد لطلبات الاجازة حسب المعلومات التي تلزمك و ارفقة لاطبق لك الفكرة ... ان قدر لي ذلك

والله من وراء القصد..

تم اضافة جدول بأسم ( طلبات الإجازة ) وفيه الحقول المطلوبه هي نفسها جدول hol ولاكن اضفت عليه ( سبب طلب الإجازة ، وقرار الإدارة )..

اخوي طريقتك ممتازة ولاكن هل يتم حساب الايام المتبقيه للموظف ؟

ورحم الله والديك والله يجزاك الجنة يارب ..

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

يرجى التلطف بالالتزام بقواعد المشاركة بالمنتدى

http://www.officena....s/Questions.htm

ابشر ولا يهمك

إجازات.rar

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

أخي العزيز يزن

اليك فكرة أولية قابلة للتحديث و التطوير حسب الظروف والامكانات

راعيت فيها الخطة التي طرحتها عليك في تثبيت قاعدة تحوي نموذج طلب الاجازة على جهاز كل موظف وتكون قاعدة البيانات التي تحتوي الجداول مثبتة على الخادم الرئيسي (السيرفر) .

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

هنا افترض بانك قادر على التعامل مع الفكرة ، بتدخلات برمجية عند اللزوم ونحن في العون ما قدر لنا.

أخي العزيز

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

ولكن الارتباط اعلاه بين القاعدتين يمثل ضغطا عليها وخاصة عند كثرة المستخدمين ، ولاسباب تتعلق بالحماية ومنع المستخدم من الاطلاع على معلومات تتعلق ببقية الموظفين أو تقديم اجازات وهمية لموظف آخر ، سنقوم باستخدام طريقة غير تقليدية ، يمكن تطبيقها ببساطة شديدة ويمكن تعقيدها وزيادة ضوابطها وشروطها البرمجية حسب طريقة التعامل و الحاجة وأهمية قاعدة البيانات ،،، وتتمثل فيما يلي:

القاعدة تتشكل من نموذج واحد فقط ، بدون جداول ولا حتى جداول مرتبطة

في النموذج حقل غير منضم غير مرئي MyStr تكون القيمة الافتراضية له الرقم الوظيفي للموظف المستخدم والقيمة في هذا المثال 4.

post-12714-0-15639500-1303205543_thumb.j

في النموذج مجموعة حقول غير منضمة لإدخال معلومات طلب الاجازة

في الكود المرفق، سيتم لديك تغيير ما يلي :

الموقع المفترض لقاعدة البيانات على السيرفر (يتم تغييره عند التطبيق حسب الموقع الفعلي) حيث سميت قاعدة بياناتك باسم EV تجنبا للتسميات العربية ومشاكلها في بعض الاحيان ضمن الكودات :

\\SERVER\JB Employee20090504\EV.mdb
الاسم المفترض لجدول الموظفين في قاعدة بياناتك emp . الاسم المفترض للجدول المستهدف بتسجيل طلب الاجازة tblEVO أعدت تسميته تجنبا للتسميات العربية ومشاكلها في بعض الاحيان ضمن الكودات . الروتين كما يلي : عند فتح النموذج يتم الاتصال بقاعدة البيانات وفتح جدول emp ومطابقة الرقم في الحقل MyStr في النموذج مع الارقام الوظيفية في الجدول وجلب الرقم الوظيفي المطابق و اسم الموظف للنموذج وإظهارها. عند تعبئة معلومات الاجازة والنقر على زر الأمر في النموذج يتم الاتصال بقاعدة البيانات وفتح جدول tblEVO وإضافة سجل جديد بطلب الاجازة بإضافة قيم كل حقل في النموذج لمكانها المناسب في الجدول . أما الكودات ببساطة فهي

Private Sub Command8_Click()

Dim DB As DAO.Database

Dim Rst As DAO.Recordset


Set DB = DBEngine.Workspaces(0).OpenDatabase("\\SERVER\JB Employee20090504\EV.mdb")

Set Rst = DB.OpenRecordset("tblEVO")



    Rst.AddNew

       Rst!Emp_ID = Me.MyStr

       Rst!Date = Me.strStart

       Rst!Date2 = Me.strEnd

       Rst!A = Me.strDays


    Rst.Update

    Rst.Bookmark = Rst.LastModified



Rst.Close

Set Rst = Nothing

Set DB = Nothing

MsgBox "تم ترحيل الاجازة", vbCritical, ترحيل

End Sub


Private Sub Form_Open(Cancel As Integer)

Dim DB As DAO.Database

Dim Rst As DAO.Recordset


Set DB = DBEngine.Workspaces(0).OpenDatabase("\\SERVER\JB Employee20090504\EV.mdb")

Set Rst = DB.OpenRecordset("emp")


Do While Not Rst.EOF

If Me.MyStr = Rst!ID Then

    Me.strID = Rst!ID

    Me.strName = Rst!Name

    Exit Do

End If


Rst.MoveNext

Loop


Rst.Close

Set Rst = Nothing

Set DB = Nothing


End Sub

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

جرب ووافني بالنتيجة ....

والله من وراء القصد ....

.....

EV.rar

NA_VacationRequest.rar

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

أعتذر على التأخير لآنشغالي بالفترة الحالية يعطيك الف عافية اخوي nart lebzo وجعلها في موازين حسناتك يارب ..

ملاحظة:*

انا قمت بالتعديل على نموذج طلب الإجازة ،، واضفت أيضا نموذج لجلب البيانات من القاعدة مع اضافة حقل بقرار الإدارة بالموافقة أو الرفض //

المشكلة هي يتم جلب طلب إجازة واحدة من طلبات الموظف حاولت بشتى الطرق لجلب الطلبات الآخرى للموظف بحيث يتم عرضها للموظف كتقرير ولاكن لم تجدي نفعاً .

أضافة*

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

أخوك

يزٍن

EV-NA.rar

تم تعديل بواسطه يزٍن
رابط هذا التعليق
شارك

اخي العزيز يزن

هذه الطلبات غير متفق عليها وترفع الاسعار كثيرا....

اصبح لي بذمتك دعوتين بظهر الغيب

.....

وَلَكِنَّكُمْ تَسْتَعْجِلُونَ

.....

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

أخي يزن

ما تطلبه كنت قد أنجزته ، ولكنني وددت أن تطلبه بعد أن تبحث فيه ، فإن لم تصل اليه حققنا حاجتك بإذن الله وفضله .

حتى يسير إستدعاء إجازات الموظف بشكل يسير ، نقوم بإنشاء جدول مؤقت في قاعدتنا مطابق بهيكله لجدول الاجازات المستخدمة hol ونسميه هنا MyV ، ونقوم كبر الكود التالي بالاتصال بقاعدة البيانات وبجدول hol لاستخراج الاجازات العائدة لموظفنا وإضافة سجلات هذه الاجازات للجدول في قاعدتنا ، ومن ثم عرضها بموجب النموذج nart lebzo – info ، عبر زر أمر للأرصدة .

قمت عزيزي باجراء بعض التعديلات على الجدوال ، كنت قد اعتبرت ايام بداية الاجازة وانتهائها وتاريخ العودة للعمل كنص ، فاعدتها لاصلها كتاريخ ، كما قمت باجراء كثير من التعديلات على النموذج nart lebzo – info باسناده للجدول الجديد ، واسناد قيمة الحقل المخفي للرقم الضريبي و حقل اسم الموظف للنموذج الرئيسي، وتصحيح جملة احتساب عدد أيام الاجازة والرصيد ، وعند كل طلب للرصيد يقوم الكود بالغاء سجلات الجدول المؤقت ، واستدعاء سجلات جديدة منعا للاختلاط والتراكم.

أما الكود فهو :

DoCmd.SetWarnings False

  DoCmd.RunSQL "DELETE MYV.* FROM MYV;"

DoCmd.SetWarnings True


'....


Dim DB As DAO.Database

Dim Rst As DAO.Recordset

Dim Rst1 As DAO.Recordset


Set DB = DBEngine.Workspaces(0).OpenDatabase("C:\c\EV.mdb")

Set Rst = DB.OpenRecordset("hol")

Set Rst1 = CurrentDb.OpenRecordset("MYV")


Rst.MoveLast

Rst.MoveFirst

Do Until Rst.EOF

    If Rst!ID = Me.MyStr Then


       Rst1.AddNew

       Rst1!ID = Me.MyStr

       Rst1!name_w1 = Rst!name_w

       Rst1!name_h1 = Rst!name_h

       Rst1!a1 = Rst!a

       Rst1!date1 = Rst!date

       Rst1!date21 = Rst!date2

       Rst1!location1 = Rst!location



    Rst1.Update

    Rst1.Bookmark = Rst1.LastModified


    End If

Rst.MoveNext

Loop



Rst.Close

Set Rst = Nothing

Set DB = Nothing


DoCmd.OpenForm "nart lebzo - info"

End Sub

المرفق يحتوي كامل التعديلات

والله من وراء القصد ....

......

EV-NA.rar

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

  • 3 weeks later...

بــآآك

عذرآ على التأخير لآنشغالي ..

بعد الاطلاع /

كل الامور تمااام ماشاء الله والله يجزاك خير لاكن تبقي لدي سؤال آخير ..

هل بامكاننا كتابة كود sql لجلب بيانات موظف معين من القاعدة الاساسية وعرضها في فورم المعلومات المسمى (nart lebzo - info) بدل جلب المعلومات من الجدول MYV ?

شاكر لك اخوي ..

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

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information