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

فتح نموذج بناء على تحديد قيمه في النموذج الثاني

مغلق
بدأه rgory في 21 يونيو 2006 · 11 رد · 3,579 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أخواني الأفاَضل مشكلتي كالاتي:

- عندي نموذجين النموذج الأول يعرض بيانات أي سجل بشكل تفصيلي. النموذج الثاني يعرض السجلات جميعها بشكل مختصر.

- أبغى المستخدم يستعرض جميع السجلات المعروضه في النموذج الثاني ثم يختار منها سجل معين بعمل DoubleClick عندها يقوم البرنامج بعرض تفاصيل هذا السجل بعينه في النموذج الأول.

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

#2

هل من مرفق يتم التعديل عليه وفق ما طلبت

#3

أخي الكريم شكرا لتجاوبك ولكني لم ابدأ بعد. أرجوا من الأخوان المساعده وشكرا لكم.

#4

اخي الفاضل

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

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

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

اليك هذا البرنامج تم صنعه من اجلك

zaEMP2006.rar

اختكم

زهره

1
#5

يا استاذة زهرة ممتازة ازادك الله من خيرة وعلمة

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

ولكى كثيرا من اشكر

longway.jpg
#6

اخي الفاضل ايهاب

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

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

1. على افتراض ان لديك جدول بإسم EMP او اي اسم في قاعدة بياناتك ( اكيد راح يكون عندك جداول - عديها هذي سهله )

2. نقوم بإنشاء نموذج جديد خالي ليس له مصدر بيانات ( يعني فاضي )

3. نقوم بإنشاء مربعين نص غير منظمين

الاول نسميه txtSearch وسوف يكون معه تسميه نكتب فيها Search ( هذا الاسم مهم للكود ) مربع النص هذا هو الذي سوف نكتب فيه كلمات البحث .

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

( ملاحظة هامة : نقوم بإخفاء مربع النص الثاني txtSearch2 وكذلك مربع التسميه Search الخاص بمربع النص الاول من النموذج والطريقه سهله وذلك من خلال الضغط عليه بالماوس الايمن و اختيار خصائص مربع النص الثاني txtSearch2 ثم نختار من تبويب الكل مرئي نضعها على لا ونفس الطريقه لمربع التسمية Search

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

5. سيظهر لنا معالج مربع القائمة وبه اختيارين نختار الاول منها " اريد ان يبحث مربع قائمة عن القيم في جدول او استعلام "

6. نضغط التالي وستظهر نافذة نختار منها الجدول المطلوب مثلا اخترنا الجدول EMP

7. نضغط التالي وستظهر حقول الجدول نختار منها ما نريده ان يكون في القائمة

8. نضغط التالي بعد اختيار الحقول المناسبة

9. ستظهر نافذة الفرز ( نتركها كما هي ) ثم نضغط التالي

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

11. اضغط على التالي وستظهر لك نافذة جديده دعها واضغط التالي

12 . سيعرض لك المعالج اخر نافذة وهي خاصة بتسمية مربع القائمة نسميها مثلا SearchList ثم نضغط انهاء

13. الان نقوم بإنشاء استعلام مبني على الجدول EMP ونضع الحقول المطلوبه في الاستعلام ( التي نريد البحث فيها )

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

15 . الان نضع في اول معيار للحقل المراد البحث فيه ( مثلا الاسم ) العبارة التالية

Like "*" & [forms]![FORM]![txtSearch2] & "*"

وشرحها :

اننا نخبر مربع النص الغير منظم txtSearch2 في النموذج ان يظهر لنا مثل الكلمة التي نكتبها في مربع النص

16. ننتقل للحقل الثاني المطلوب البحث فيه مثلا الوظيفه ونضع نفس العبارة السابقة ولكن في خانة المعيار " او "

وهكذا بقية حقول الاستعلام بمعنى ان عبارات الاستعلام السابقة تكون متدرجه حسب الحقول كل في المعيار الخاص به " او " انظر الصوره

18_05_06_11_08_28_1147975708Qza.gif

17. نحقظ الاستعلام بأي اسم مثلا Qza

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

18_05_06_11_50_21_1147978221Qza3.gif

19. نعرض النموذج في وضع التصميم ونختار مربع النص الاول txtSearch ومن ثم نختار خصائصه وذلك بالضغط بالماوس الايمن على مربع التص ثم خصائص ونختار تبويب الحدث ومنه نختار حدث عند التغيير

20. نضغط على السهم السفلي ونختار " اجراء حدث " انظر الصوره

18_05_06_11_36_58_1147977418Qza_.gif

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

Private Sub txtSearch_Change()
Dim vSearchString As String
vSearchString = Me.txtSearch.Text
Me.txtSearch2.Value = vSearchString
Me.SearchList.Requery
End Sub

لاحظ عدم تكرار بداية الكود ونهايته

22. نقوم بالحفظ النهائي ونقوم بعرض النتيجه ( ما شاء الله تبارك الله ) ايه الحلاوه دي يا عم

شرح الكود

1. يتم التغيير لمربع القائمة من خلال حدث التغيير لمربع النص الاول txtSearch الذي نكتب فيه كلمات البحث

2. نقوم بالتصريح لعبارة البحث من خلال الصيغة Dim وعبارة البحث هي vSearchString

3. نجعل عبارة البحث vSearchString تساوي اي قيمة في مربع النص الاول Me.txtSearch.Text وجود الكلمة Me تعني الحالية في النموذج و Text هي النص ( لان النص يقبل حروف وارقام )

4. الان نجعل القيمة Value الخاصة بمربع النص الثاني ( تذكر اننا قمنا بإخفاءه في اول الشرح ) مساوية لعبارة البحث vSearchString

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

5. اخيرا نقوم بتحديث مربع القائمة الحالية مباشرة من خلال Me.SearchList.Requery

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

والمثال السابق المرفق يوضح ذلك

اختكم

زهره

#7

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

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

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

#8

الأخت زهره السلام عليكم وأسعد الله صباحكم....

في الحقيقه طريقة بحثك رائعه بكل المقاييس...ولكن

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

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

أرجوا المساعده يا أخت زهره ولكي جزيل الشكر.......

تم تعديل هذه المشاركة بواسطة rgory في 22 يونيو 2006 في 05:50

#9

اخي الفاضل

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

تم تعديل المثال السابق بناء على طلبك

فقد تم ازالة كود البحث وكل ما يتعلق به من كائنات

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

والنموذج الاخر مبني على الجدول بكل الحقول الموجوده به

وتم الربط بين النموذجين بواسطة رقم الموظف [iD] كما هو موضح بالكود وهو سهل للغاية وتستطيع تطبيقه

Private Sub SearchList_DblClick(Cancel As Integer)
DoCmd.OpenForm "form", , , , , acHidden
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "MineEmp"
stLinkCriteria = "[Id]=" & Me![SearchList]
DoCmd.OpenForm stDocName, , , stLinkCriteria
End Sub

شرح الكود :

النموذج الاول اسمه FORM

الننموذج الثاني اسمه MineEmp

حقل الربط بين النموذجين هو رقم معرف الموظف ID

في حدث عند النقر المزدوج على القائمة التي تضم الاسماء SearchList في النموذج الاول سيتم الاتي

1. يتم اخفاء النموذج الاول بواسطة الامر acHidden والغرض منه حتى لا يسبب ارباك للمستخدم في حالة فتح النموذجين معا .

2. ستجد اعتبارا من السطر الثاني في الكود الى السطر الرابع هو تجهيز صيغة الربط مع النموذج الثاني MineEmp

3. في السطر الخامس يتم الربط بواسطة معرف الموظف ID

4. في السطر الاخير يتم فتح النموذج بناء على حالة اختيار رقم الموظف المختار من القائمة .

وهذا الملف بعد التعديل

( قمت بإزالة اي اكواد اضافية سابقة مثل الفتح اوالاغلاق حتى لا تتسبب في ارباكك )

zaEMP2006_UP.rar

#10

شكرا جزيلا... ولكن مازالت عندي مشكله ..

جزاك الله خير ياأخت زهره.

عندما حاولت أرفاق الملف طلعت لي الرساله التاليه:

فشلت عملية إرفاق الملف , غير مصرح لك بإرفاق هذا النوع من الملفات

#11

الأخت زهره ...شكرا جزيلا لقد نجحت المحاوله وأشتغل الفورم 100% والفضل لله ثم لكي ياأخت زهره...

#12

استاذتنا الاخت زهرة

تحياتي لك ولمجهوداتك الرائعة في مساعدة الاخرين في هذا العلم الجميل

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

_____.rar

هذا الموضوع مغلق.

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