بسم الله الله الرحمن الرحيم
فكرة عن البرنامجي وايضا بعض الاسألة واريد اقتراحاتكم وافكاركم
فكرة البرنامج قاعدة بيانات تحتوي على جميع بيانات الشركة حيث منه اطبع التقارير الشهرية ويوجد ايضا بيانات العمال الذين على
الشركة والذين نقلوا اقامتهم من شركتنا، وبيانات جميع السيارات التابة لشركتنا
وسأرفق ان شاءالله بعض الصور للبرنامج مع الشرح
هذه هي الشاشة الرئيسية عند دخول البرنامج ،، وتشتغل من ماكرو Autoexec وهيه للدخول الى البرنامج عن طريق ادخال الرقم السري

وتظهر هذه النافذة عند ادخال الرقم الخطأ

- الزر كنسل فيه الكود DoCmd.Quit اي انه يغلق البرنامج بشكل نهائي
- علامة التحذير بخطأ في ادخال الرقم السري هي فلواقع صورة وتظهر من قبل الكود التالي:
If Text4.Text = "***" Then
DoCmd.RunMacro "macro-open-home"
Else
Image16.Visible = True
End If
سهل اليس كذلك؟
وعلاقة البيضاء الصغيرة تظهر عند حدوث اي تغيير في التكست 4 وهو خانة الرقم السري
ملاحظة: البرنامج لي او لأستخدامي الشخصي، لهذا وضعت رقم سري في بداية البرنامج فقط
هذه هي الشاشة الرئيسية، ومنها يمكنني الدخول الى اقسام البرنامج

شرح الاختيارات المتوفرة:
** Print **
عند الضغط عليه تظهر الشاشة التالية

وكما موضح في الصورة ،، هذه الشاشة لطباعة التقارير وسأشرح ان شاءالله وظيفة كل زر
1- "تقرير انتهاء اقامات العمال الشهري"
هذا التقرير اطبعه كل شهر، وهو يظهر لي اقامات العمال التي ستنتهي خلاش الشهر المحدد، وطريقة عمله كتالي:
اولا – اظع في الجدول خانه واسميها تاريخ انتهاء الاقامة ويكون نوعها "تاريخ" وبعدها اضع خانه واسميها السنة وخانة الشهر وخانة اليوم ويكون نوعهم "نص" وعدد الاحرف المتاحة للسنة 4 ولليوم والشهر 2.
ثانيا- انسئ استعلام واظع فيه جدول العمال واكتب في الاستعلام بأن يطلب مني الشهر والسنة، يعني عند تشغيل الاستعلام يطلب ان اظع الشهر ثم السنة ويجب ان يكون الشهر على سبيل المثال 08 والسنة 2003 وبهذه الطريقة سوف يظهرهم الاستعلام جميع التواريخ التي في مكتوب في خانة "الشهر" رقم 8 والتي مكتو في خانة "السنة" 2003.
ثالثا- انشئ التقرير واربطه بالاستعلام الذي انجزته قبل قليل
وفي هذه الشاشة (في الاعلى) يكون الزر لطباعة التقرير وعند الضط عليها سيطلب مني كتابة الشهر والسنة وعند كتابتهم سيبدأ بالطباعة.
2- "النسخة "B نفس الطريقة ولكن هذه النسخة مبسطة حيث تحتوي فقط على اسم العامل وتاريخ انتهاء الاقامة وارقام التلفونات
3- "Top Secret List" هي قائمة حيابات خاصة بالشركة وسريه للغاية :P وهي تعتمد على نفس الطريقة التي شرحتها قبل قليل
4- "شهادة راتب" بعض العمال يطلبون شهادة لرواتبهم بحيث تمكنهم من انجاز بعض معاملاتهم كشراء سيارات خاصة بهم وغيره، حيث عند اختيار هذا الخيار يطلب مني ادخال رقم العامل المدني وعند ادخاله سيقوم بطباعة التقرير التالي:

وكما تلاحظون، اسم الشركة سوف يظهر اسم الشركة او الفرع الموجود العامل عليه
وباقي بيانات العامل الجنسية والرقم المدني وغيرها من البيانات الظرورية
وباقي الكلام مجرد ليبلز
وطبعا طريقة العمل هي نفس الطريقة السابقة حيث ان الاستعلام سيطلب الرقم المدني وعند ادخالة تظهر بيانات العامل، ويجب ان يكون الرقم المدني للعامل هو المفتاح الاساسي لتفادي الخطأ او التكرار.
"تقرير رواتب العمال" الكتاب يعرف من عنوانه، تقرير برواتب العمال – الاسم – الرقم المدني – الراتب – الوظيفة.
في الشركة لكل عامل ملف خاص به وعند تحويل العامل اطبع تقرير خاص ببياناته ووظعه في ملفة ووظفع الملف في الارشيف مع الملفات القديمة وكذلك لكل باقي العقود والسيارات والاجرات إلخ، ونفس الطريقة القديمة ،، كل زر يطبع تقرير والتقرير مربوط بأستعلام ولكل استعلام صيغة معلمة تطلب نوع البيانات سوائا كان الرقم المدني او اسم او أي شي آخر كما مبين في الصورة.
بهذه الطريقة نكون قد انتهينا من شرح شاشة الطباعة الأخيرة .
"Informations"
او معلومات، هذه الشاشة تظهر بعض المعلومات العامة عن الشركة كما موظح في الصورة

على اليسار عدد الجناسي العمال الذين اقاماتهم على الشركة والطريقة كتالي:
استعلام يحتوي على اسم الجنسية التي سيحسبها لي

وصنع لها فورم

وكما موضح في الصورة اضح تكست بوكس واكتب فيه الكود كما مبين ليحسب لي المجموع، واضعه على شاشة المعلومات عن طريقة الامر
.
"Help"
او شاشة المساعدة

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

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

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


وهذا الكود للزر Unlock

"About The Program"
عند الضغط عليه تُفتح نافذة تحتوي معلومات عن البرنامج.

ولكن هذا الشكل مبدئ، فقد اغيره لاني غير مقتنع به لحد الآن
"Exit"
او زر الاغلاق
عند الضغط عليه تظهر النافذة التالية

وهذا على فكرة فورم وليسة نافذة للرسالة (مسج بوكس) وعند الضغط على زر "نعم" تكون قد اخترت الامر DoCmd.Quit واذا ضغطت على زر "لا" تكون قد اخترت الامر DoCmd.Close أي انه سيغلق النافذة فقط، والخلفية صورة.
وهذه العلامة
عند الضغط عليها ستظهر نافذة اخرة وتطلب مني ادخال الرقم السري لاغلاق الشاشة الرئيسية
وعند اغلاق الشاشة الرئيسية سأتمكن من فعل كل ما اريد، أي هذا المكان للمبرمج فقط ليتمكن من اجراء التعديلات وتصحيح الاخطاء.
وبعد ان شرحت الخيارات التي بشريط المعلومات للصفحة الرئيسية لان سوف اشرح ما تبقى
الزر Show List / Hide List
عند الضغط على Show تظهر قوائم في الاسفل كانت مخفية كما مبين في الصورة ،، ولكن هذه الفكرة قيد التجربة فقد الغيها

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

هذه الشاشة للقراءة فقط ولا يمكنني اجراء أي تعديل بها إلا بعد الضغط على زر انلوك لسماح التعديل والاضافة كما في الصورة التالية:ـ

1- ازرار التعديل، والكود الخاص فيه يكون عبارة عن تفعيل او ابطال القفل كما موضح في الكود التالي:ـ
text1.locked = true
text2.locked = true
text3.locked = true
والعكل لزر التعديل او الغاء القفل
2- لكل عامل 4 صور، والكلمة التي لونها احمر تعني بأن لا يوجد صورة، وتظهر اذا لم يكون يوجد صورة بالفعل وطريقة صنعها كتالي
أ- اجعل مربع الصورة OLE بأن يكون شفافا
ب- ضع الليبل واكتب الكلام الذي تريدة واجعل ان يكون مربع الصورة في المقدمة من خلال اختيارة والضغط على
او اختيار نفس الامر من قائمة فورمات.
3- هذا لاظهار آخر تعديل تم اجرائة على البيانات، حيث عند الضغط على الزر يُكتب بشكل اتماتيكي التاريخ والوقت بكتابة هذا الكود للزر:ـ
لنفترض ان المكان المخصص لتاريخ التعديل اسمه تكست777 والمكان المخصص لوقت التعديل اسمه تكست888
text777 = date
text888 = time
وسيكتبون عند الضغط على الزر او يمكنك كتابتهم يدويا ان احببت
4- هذا المكان الذي تحدثت عنه من قبل وهو لكتابه السنة، والشهر، واليوم كل على حدة، ويوجد مثلهم ولكنهم تاريخ انتهاء الجواز.ـ
5- هذه الازرار مخصصة لكتابة عبارة في خانة "ملاحظات عن العامل" وبنفس الوقت كتابة كلمة Yes في القائمة المنسدلة الصغيرة
وهذه القائمة وضعتها حتى اتمكن من فرز العمال الذين عليهم ملاحظات من الذين لا يوجد عليهم شيء حتى اتمكن من فرزهم لوحدهم عن طريق استعلام واظهارهم لوحدهم في فورم مخصص للملاحظات وحتى يسهل علي متابعتهم والاتصال بهم، حيث اذا كان الخيار "نعم" يعني يوجد ملاحظة، واذا كان "لا" يعني لا يوجد شيء عليه، اما الازرار التي في الاعلى كما ذكرت فالبداية هي ازرار لكتابة جمل تلقائية، فمثلا الزر الاول يعني "اخذ الجواز لحين اصدار البطاقة المدنية" لان العامل يحتاج بأن يأخذ الجواز للسفر كأثبات اذا كانت البطاقة في التجديد والزر الثاني للعبارة التالية: "اخذ الجواز للسفر – احضار التذكرة والبطاقة المدنية" حيث من قوانين الشركة بأن يحضر العامل صورة من تذكرة السفر + البطاقة الاصلية حتى نستطيع ان نثبت لادارة العمل في دولة الكويت (اثناء التفتيش) بأن بأن العامل مسافر.ـ
وهذه الشاشة مخصصة للتجديد فقط، حيث تحتوي على جميع البيانات التي قد اغيرها اثناء التجديد كالراتب والوظيفة وغيرها من البيانات

هذه هي شاشة السيارات، حيث يوجد بها جميع سيارات الشركة

وعند الضغط على كلمة Select Car Market
تظهر الشاشة التاليه وهيه لاختيار صورة السيارة، وهي عبارة عن خانات OLE موصولة بجدول يحتوي على 32 خانة وجميعهم من نوع OLE

اعتقد اني سأكتفي بهذا القدر من الشرح ، والآن اريد لكل من لدية فكرة او اقتراح او سؤال ان لا يقصر معانا لاني لم افعل كل هذا الا لتبادل الافكار والخبرات والحلول للمشاكل
ولكم جزيل الشكر مقدما والان يأتي دور اسألتي::ـ
الاسألة:
1- كيف اضع كائن (صورة، نص، إلخ..) بشكل مؤقت ويختفي بعد حين؟ مثلا عند الضغط على زر تظهر صورة وتختفي بعد وقت انا احددة (3 ثوان، 5 ثوان)ـ
2- هل يوجد طريقة لاجعل البرنامج يقوم بكتابة السنة،الشهر،اليوم كلً على حدة في مكان احددة بدل ان اكتبه بنفسي تجنبا للأخطاء؟
3- اريد كود يمكني من نسخ الكائن/النص المحدد
4- اريد كود لنسخ الكلام المكتوب في مكان معين، مثلا اريد ان اظع زر امام خانة "الرقم المدني" وعند الضغط عليه ينسخ لي الرقم المدني حتى لو كنت محدد كلام في مكان آخر
5- اريد كود فقط اقوم بوضعه في في بداية الفورم يقوم بعملية تكبير للصفحة تلقائيا، حيث اني اضطر لاختيار امر ماكسمايز في الماكروز لكل فورم، هذا يعني ماكرو لكل فورم اريد فتحة
((( ملاحظة هامة:: اثناء كتابتي لهذا السؤال عرفت الجواب، وهو ان اقوم بأنشاء ماكرو جديد واضع فيه امر ماكسمايز فقط واخزنة بهذا الاسم Macro_Maximize حتى يسهل التعرف عليه، وبد ذلك اكتب في الفورم نفسة في خاصية لود هذا الامر DoCmd.RunMacro "Macro_Maximize" :) )))ـ
6- لاحظتم في شاشة التقارير اني يجب ان اطبع مجموعة من التقارير كل شهر، وانا اخشى ان انسى واحد منهم وعدم طباعته، فما رأيكم هل توجد طريقة لطباعة كل التقارير مرة واحدة؟
معلومات عامة:ـ
نسخة النظام: اكس بي انجليزي
نسخة الاكسس: اكس بي انجليزي
مدة العمل على هذا الشرح: 13 ساعة تقريبا
تاريخ الانشاء: 23 اكتوبر, 2003, 01:26:59 PM
برامج تحرير الصور: Paint Shop Pro 7 – Photo Shop 7
تم كتابة الموضوع ببرنامج: Microsoft Word XP