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

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

قام بنشر

على ما اعتقد استعمل هذا

  • Me.tot_exp = CalcTotAge(Me.from1, Me.to1, "01/01/2003", "01/01/2003", "01/01/2003", "01/01/2003", "01/01/2003", "01/01/2003")
وهكذا تباعا ينقص تاريخين الى الاخير لينتج الناتج النهائي
قام بنشر

اخيrudwan

مشكور لكن وجدت مشكلة صغيرة ان شاء الله

هو ماذا لو ادخلت بيانات في المربع 1 والمربع4 فقط

لان لكل مربع لجهة ما

حاولت ولم بعطيني النتيجة

مشكور

قام بنشر

لا اعرف كيف اشكرك جزاك الله خيرا هذا ما كنت اريد

هل ممكن تعكيني فكرة عن عمل الحقول الغير منضمة( المخفية)

قام بنشر

أخي العزيز

الحقول المنضمة شيء , و الحقول المخفيه شي آخر

العناصر المنضمه ( سواء مربع تص أو غيره ) هي عناصر مصدر بياناتها أحد الحقول الموجوده في الجدول

أما العناصر غير المنضمه ( أيضا مربع نص أو غيره ) , فهذه هذه مصدر بياناتها ليست عنصرا من قاعدة البيانات و انما تكون محسوبه , أي معادله أو ما يشابهها و تستخدم لاستخراج قيمه معينه مثلا :

الضريبه = الراتب * 12 %

الراتب : عنصر منضم لأنه سيكون مأخوذا من أحد حقول الجدول

أما الضريبه فهي قيمه محسوبه من الراتب و ليست حقلا في الجدول لذلك هي عنصر غير منضم .

و الآن : كلا من العناصر المنضمه و غير المنضمه في النموذج يمكن أن تكون ظاهره

أو مخفيه حسب ما تريد , و ذلك كما يلي

ضع المؤشر على العنصر الذي تريده ثم اضغط بالزر اليمين للفأره على خصائص

ثم تنسيق - ثم مرئي ( اجعل الخاصيه صح اذا كنت تريده ظاهر , و لا اذا كنت تريده مخفي )

أو

prpperties - format - visible (yes or no

قام بنشر

عادي لا اثقال و لا حاجه

call me

هذا ليس داله معرفه في الأكسس , و انما هي اجراء شخصي أنا قمت بتعريفه بنفسي

لا حظ في الكود تعريف هذا الاجراء ,

private sub callme()
اكتب هنا ما تريد
end sub

و هذا يستخدم حسب الحاجه , فانا في هذا المثال حتى لا أكرر المعادله بعد كتابة كل مربع نص من فترات الخبره , أكتفي بتعريف اجراء يحسب سنوات الخبره مره واحده

ثم استدعيه باسمه عند اي حدث أريده

قام بنشر

اخيrudwan لا تزعل فانا مبتدى

هنا اريد ان اعرف اين تم وضع هذا الحدث

[ثم استدعيه باسمه عند اي حدث أريده]

مثال الخبرات تم وضعه عند الادخال والخروج لكن هذا الحدث اين ؟

مشكور

قام بنشر

أخي الكريم

أرجو بداية أن لا تردد في طرح أي سؤال يخطر ببالك , و لا تقفل هذا الموضوع و في ذهنك شي عالق .

أولا : الاجراء procedur - يكتب في أي مكان في النموذج و يكون private

اي خاص بهذا النموذج

أو عام puplic و يكون خاص بقاعدة البيانات كلها , اذا كان سيستخدم في جميع نماذج الملف و يتم تعريفه ضمن قسم الأنماط modules

اختر اي اسم للاجراء الذي تريد شرط أن لا يكون كلمه معرفه من كلمات أو دوال الأكسس

ثم اكتب فيه العمليات التي تريدها .

و بعد التعريف يجب أن تحدد أنت أين تريد أن تستخدم هذا الاجراء و عند اي حدث

و اعلم أن كل عنصر تحكم في النموذج له عدة أحداث :

before update اي قبل تغيير قيمة هذا العنصر

after update اي بعد تسجيل قيمه لهذا العنصر

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

exit عند الخروج منه و بعد الكتابه فيه مباشرة

change عند تغيير القيمه

و توجد أحداث عديده أيضا , المهم تعرف أن تختار الزمن الصح لاستدعاء الاجراء فيه

مثلا الملف الذي بين أيدينا , مصمم البرنامج الأول جعل حساب سنوات الخبره بعد الانتهاء

من ادخال الفتره الرابعه ,

طيب اذا لم يكن لدينا سوى فترتين يكون من المنطقي اذا تغيير مكان الحدث و استخدام الاجراء call me ليتم تفعيله في حدث الخروج من كل فتره دون الحاجه للانتظار الى ادخال بيانات الفتره الأخيره .

لو غيرت مكان الحدث و جعلته قبل الدخول الى مربع نص لن يحسب لك العمليه صح

أما حدث عند الدخول الى مربع النص :

Private Sub exp1_Enter()
If IsNull(Me.from1) Or IsNull(Me.to1) Then Exit Sub
Me.exp1.Text = CalcAge(Me.from1, Me.to1)
End Sub
فهو يحسب لك سنوات الخبره للفترة التي تقوم بادخالها , و يمكن أن تحصل على نفس النتيجه لو جعلت المعادله تحسب بعد الخروج من تاريخ الى كما يلي
Private Sub to1_Exit(Cancel As Integer)
If IsNull(Me.from1) Or IsNull(Me.to1) Then Exit Sub
Me.exp1.Text = CalcAge(Me.from1, Me.to1)
End Sub
ضع نفس المعادله في حدث after update لنفس العنصر to1 يعطيك نفس النتيجه و للتعرف على مكان الأحداث , اكتب الاجراء البسيط التالي ضمن النموذج الذي في الملف و لنسميه SayHello
private sub SayHello()
msgbox "    السلام عليكم و رحمة الله و بركاته "
endsub

الآن عندك اجراء يعرض لك رساله السلام عليكم

خذ مربع النص from1

و استدعي هذا الاجراء اي بكتابة كلمة sayhello فقط , استدعيها عند جميع أحداث

هذا العنصر , قبل التغيير و بعد التغيير , و عند الدخول و عند الخروج ,و جرب الجميع

و حاول ادخال بيانات للفتره الأولى , تجد ماهي الأحداث

لكن لا تستدعيها كلها مره واحده , استدعي كل مره عند حدث مختلف حتى لا تختلط عليك الأمور , يعني استدعيه أول مره عند حدث قبل التغيير فقط , ثم احفظ النموذج و جرب

بعدها عد الى التصميم و احذف حدث قبل التغيير و استدعي حدث بعد التغيير و هكذا .

قام بنشر

لا اعرف كيف اشكرك فقط استطيع ان اقول جزاك الله خيرا

انت تشجعني لك ارسل لك ملف ايضا من تصميم احد الاخوان ينقصني فيه ما يليي

الملف

1-اود عند كتابة كود الاشتغال يظهرلي القائمة الشهرية باسم الشهر(شهرواحد فقط) ومكان العمل

اى راس القائمة يكون مكان العمل وبعده الشهر ومن ثم التفاصيل

مثال مكان العمل الفنية الشهر اب

الاسماء

-

-

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

جزاك الله خيراجزاك الله خيراجزاك الله خيرا

قام بنشر

أخي العزيز

من مبادىْ طرح المشاركات في هذا المنتدى أن لا يتم طرح أكثر من موضوع في موضوع واحد .

لذلك اطرح سؤالك في موضوع جديد ذو عنوان واضح , حتى تعم الفائده على الآخرين

و كذلك حتى يتسنى للساده المشرفين أيضا الرد على هذا الموضوع

تحياتي

قام بنشر

مشكور على هذه الملاحظة

عندى استفسار في نفس الموضوع السابق

وهي عندما اريد نقل البرنامج الى قاعدة بيانات اخرى ( دمج) عند ادخال التاريخين يعطيني في exp1 يذهب الى الحدث ويقف عند calcage

ماهو الحل

قام بنشر

بسم الله الرحمن الرحيم

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

أخيك سهل أحمد ( ابو نعيم )

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

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

Important Information