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

برمجة نسخ متعددة من النموذج نفسه

بدأه يوسف احمد في 5 مايو 2009 · 19 رد · 2,674 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

احبائي رواد منتدانا الغالي

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

وهذا المثال يتكون من الآتي :

1: جدول الموظفين ( tblEmployee ) وبه الحقول التالية :

أ ـ رقم الموظف ( EmployeeId ) وهو المفتاح الرئيسي للجدول.

ب ـ اسم الموظف ( EmployeeName ).

ج ـ عنوان الموظف ( Address ).

د ـ الرئيس المباشر ( Supervisor )

ملاحظة : الحقل بالفقرة ( د ) هو ايضاً حقل رقم الموظف ولكنه خاص بالرقم الوظيفي لرئيس الموظف وسيكون من ضمن القيم الموجودة بحقل رقم الموظف وللتوضيح اكثر : لو فرضنا ان الرقم الوظيفي 2 هو لأحد الموظفين ورئيسه المباشر بنفس الجدول ( حيث انه احد الموظفين ايضاً ) ولكنه يحمل الرقم 4 فسيتم وضع الرقم 4 في حقل Supervisor للموظف رقم 2

2: نموذج الموظفين ( frmEmployee )

وهذا النموذج مبني على الجدول الوحيد لدينا مع تغيير نوع عنصر التحكم الخاص بحقل الرئيس المباشر الى مربع تحرير وسرد اسمه ComboSupervisor يعرض لنا اسم الرئيس المباشر بدلاً من رقمه وذلك بالتحكم في خصائصه.

الاكواد

1: في قسم التصريحات العامة للنموذج يتم تعريف متغير يمثل النموذج ( frmEmployee ) اسم هذا المتغير هو ( frmChild ) كالتالي:

Private frmChild As Form_frmEmployee

2: الكود بحدث عند النقر للزر الموجود بجانب مربع التحرير والسرد هو الخاص بعرض النسخ المتعددة للنموذج بناءً على قيمة مربع التحرير والسرد كالآتي:

If Not IsNull(Me!Supervisor) Then
		Set frmChild = New Form_frmEmployee
		With frmChild
			.Filter = "EmployeeID = " & Me!Supervisor
			.FilterOn = True
			 .Caption = "الرئيس المباشر للموظف " & Me!FullName
			.Visible = True
		End With
	End If

شرح الكود

السطر الاول : بإستخدام If الشرطية سيتم التحقق من مربع التحرير والسرد فإذا كان يحمل قيمة ... اذأ

السطر الثاني : اذا سيتم تعيين قيمة للمتغير المعرف مسبقاً وستكون القيمة هي نموذج جديد او نسخة جديدة من نموذج الموظفين.

السطر الثالث : With هو امر يستخدم للإختصار في بعض الاحيان عند التعامل مع كائن معين بحيث لا يتكرر اسمه بالكود وهنا تم استخدامه مع النموذج النسخة.

السطر الرابع : يتم عمل تصفية للنموذج النسخة بناءً على رقم الموظف ولكن بمعيار وهو قيمة مربع التحرير والسرد .. اي ان هذه التصفية ستكون حسب رقم الموظف ولكن بحقل Supervisor

السطر الخامس : تشغيل عامل التصفية

السطر السادس : تغيير خاصية التسمية ( Caption ) او عنوان النموذج ليعرض جملة ( الرئيس المباشر للموظف ) اضافة الى اسم الموظف

السطر السابع : هو اظهار النموذج الإبن بتعيين القيمة ( نعم ) لخاصيته ( مرئي )

السطر الثامن : انهاء الامر With

السطر التاسع : انهاء الجملة الشرطية If

ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

ــــــــــ

طريقة عمل المثال :

عند فتح النموذج سيكون هناك زر امر بجانب مربع التحرير والسرد الذي يعرض اسم الرئيس المباشر وعند الضغط عليه سيتم فتح نسخة من النموذج لعرض بيانات هذا الرئيس ... مع امكانية فتح نسخة اخرى من النموذج الآخر في حالة وجود رئيس مباشر للرئيس المعروض بالنموذج الإبن

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

اعتذر على الإطالة واترككم مع المثال عسى ان يكون به الفائدة

دمتم بود

اخوكم / يوسف احمد

Programming_Multiple_Copies_Of_The_Same_Form.rar

تم تعديل هذه المشاركة بواسطة يوسف احمد في 5 مايو 2009 في 09:56

3
#2

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

بارك الله فيك اخي الكريم

جاري التحميل

#4

اخي sx1

اخي فلاح العتيبي

تشرفت بهذا المرور العطر .. بارك الله فيكما

مع الشكر والتقدير،،،

#5

والله هايل وممتاز يا أخي الغالي يوسف

عمل رائع من مشرف رائع وفكرة فعلا تفتح الابواب علي مصرعيها لتنفيذها في برامج كثيرة

شكرا لك

علي مثالك الرائع وعلي شرحك الوافي لطريقة عمل المثال

تم تعديل هذه المشاركة بواسطة محمد فؤاد تركي في 5 مايو 2009 في 11:43 — السبب: تنسيق

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#6

مثال رائع من أستاذ رائع ...

كل الشكر أخي يوسف على المثال بارك الله فيك ونفع بك ....

(`'•.¸(` '•. ¸ * ¸.•'´)¸.•'´)

«´¨`.¸ أبو رهـــــــف ¸.´¨`»

(¸. •'´(¸.•'´ * `'•.¸)`'•.¸ )

¸.•’’ ’’

( `•.¸

`•.¸

#7

الله عليك يا استاذ

مثال رائع فعلا

دومت بكل خير

:clapping: :clapping: :clapping:

سوف أنسى الأمس واليوم و قــد أنــسى غــــــــــــــــــــدا

و سأنسى فترة في العمر قـــد ضاعت ســــــــــــــــــدى

غير أني سوف لا أنسى ســــــــــــــــــــــــــؤالا واحدا

حــــين قال القلب يوما فـــي ارتـــباك: كــــيف أنسي

#8

الاخ والمشرف الغالي محمد فؤاد تركي

الاخ الغالي أبو رهف

الاخ الغالي just now

شاكر لكم مروركم وتعليقكم ... ان كان المثال رائع فمروركم اجمل واروع

بارك الله فيكم جميعاً احبائي

#9

السلام عليكم

فعلا عمل جميل و رائع

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

تقبل تحيات اخوك في الله / علوش الحربي

تم تعديل هذه المشاركة بواسطة ali_main في 5 مايو 2009 في 13:37

#10

الاخ الفاضل الاستاذ / يوسف احمد

بارك الله فيك والله انه يعتبر درس من دروس الاكسس وانه ليس بجديد على استاذ مثلك

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

مثالك هذا جعلني اغير واعدل بعض الاشياء في برنامجي الخاص

استاذ / يوسف لا تحرمنا من مثل هذه الامثلة بين الحين والاخر رغم اقدر واعرف مدي انشغالك

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

اخيك / ابو شادي

#11

بارك الله فيك وجزاك الله خير اخي الكريم يوسف

مثال اكثر من رائع

الله يعطيك الصحة والعافيه

وفقك الله ونفع بعلمك

اتق الله حيث ماكنت

#12

بارك الله فيك اخي علوش الحربي

----------------------------------------

الاخ الفاضل أبو شادي

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

اسعدك الله فقد اسعدتني بهذا الخبر فالقصد من المثال هو التعلم والاستفادة منه في برامجنا.

اقتباس
يوسف لا تحرمنا من مثل هذه الامثلة بين الحين والاخر رغم اقدر واعرف مدي انشغالك

انت تأمر اخي ابو شادي

----------------------------------------

اخي at_aziz

بارك الله فيك وسلمك من كل مكروه

مع الشكر والتقدير للجميع على المرور

#13

مثال جميل استاذي يوسف الله يعطيك العافية

وراح نستفيك منه في اشياء كثيرة الله يبارك فيك

#14

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

أخي : يوسف مثال في قمة الرووعة

الله يعطيك العافية .. وجزاك الله خير .. تحيتي لك ياغالي

#15

بارك الله فيك اخي مشارف وشكراً جزيلاً لك على مرورك العطر

اخي واستاذي اكسير الحياة

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

مع الشكر والتقدير للجميع،،،

#16

مثال غني جداً وفي غاية الروعة والفائدة

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

سبحان الله وبحمده

سبحان الله العظيم

5429.gif

#17
اقتباس
الاخ الفاضل الاستاذ / يوسف احمد

بارك الله فيك والله انه يعتبر درس من دروس الاكسس وانه ليس بجديد على استاذ مثلك

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

مثالك هذا جعلني اغير واعدل بعض الاشياء في برنامجي الخاص

استاذ / يوسف لا تحرمنا من مثل هذه الامثلة بين الحين والاخر رغم اقدر واعرف مدي انشغالك

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

ويزيد لك الله من فضله

تحياتى

محمد ندا

... بقمة السعادة .. أعود بإذن الله لصحبتكم الرائعة قريباً ...

#18

بارك الله فيك اخي حسين السرحاني

بارك الله فيك اخي Mohamed Nada

مع الشكر والتقدير للجميع على المرور العطر

بالتوفيق للجميع ان شاء الله

#19

جزاك الله خيرا أخى يوسف

+1

تمنياتى لك وللجميع بالتوفيق

#20
abdalla89 كتب:

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

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

و سأقوم بشرحها مرة اخرى

عندي نموذج واجهة للبرنامج عليه ازرار لفتح نماذج اخرى مثل المبيعات المشتريات سند اليومية كشف حساب .....الخ

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

نسخة اخرى منه هل هناك طريقة لفتح نسخة اخرى منه و شكرا

السلام عليكم

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

اسمي الحقيقي هو السيد

رغيد السقا

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