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

كيفية جعل مصدر النموذج من اكثر من استعلام

مغلق
بدأه kafi في 26 سبتمبر 2007 · 5 رد · 1,163 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

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

ارفق مثال فيه الذاتيات ( زبائن - موردين _ شركاء)

وهناك شاشة للتحكم بخيارات البرنامج يقوم من خلالها المستخدم بالتحكم باظهار الشركاء ضمن الذاتيات ام لا

هناك استعلامين احدهم يعطي كافة الذاتيات مسمى Zatea_01

وهناك استعلام اخر اسمه Zatea_02 يعرض فقط ذاتية الزبائن والموردين

كيف نجعل النموذج الاساسي للبرنامج يظهر المطلوب

Test_10.rar

#2

سلام سويتلك تعديل حسب فهمي

تمنى ان يكون هو المطلوب

#3

اخي الفاضل kafi

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

تفضل هذا الحل

اولا : يجب ان يكون النموذج Zateat بدون مصدر سجلات حيث اننا سوف نتحكم به بمصدر السجلات من خلال الكود

ثانيا : عند ضغط زر الأمر " خروج " نضع هذا الكود

Private Sub END_Click()
DoCmd.OpenForm "Control", , , , , acHidden
DoCmd.OpenForm "Zateat"
Select Case Me.Partnet
Case Is = 1
Forms!Zateat.RecordSource = "Zatea_01"
Case Is = 2
Forms!Zateat.RecordSource = "Zatea_02"
End Select
End Sub

مهمة الكود التالي :

يقوم اولا بإخفاء نموذج Control لحين اكمال الكود كاملا بعد الضغط على زر الأمر " خروج " مع العلم ان النموذج مفتوح ولكنه مخفي في هذه اللحظة والسبب اننا نريده مخفي لأن به خانتي الإختيار " نعم " و " لا " ولو قمنا بإغلاق النموذج نهائيا فلن يتم تنفيذ بقية الكود لهذا نجعله مخفي مؤقتا .

ثم نكمل الكود بحالة الإختيار فإن كان الإختيار على " نعم " وهي تعني في الكود " 1 " فإنه مصدر السجلات للنموذج سيكون الإستعلام " Zatea_01 " وإن كان الإختيار لـ " لا " وهي تعني في الكود " 2 " فإن مصدر السجلات للنموذج سيكون الإستعلام " Zatea_02" ثم ننهي جملة Select

اما في النموذج Zateat فعند فتحه نضع له هذا الكود وهو تحديث البيانات مع التحكم في صوله وعرضه

Private Sub Form_Open(Cancel As Integer)
Me.Refresh
Me.Form.InsideHeight = 6000
Me.Form.InsideWidth = 8500
End Sub

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

zaTest_10.rar

#4

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

بارك الله فيك يا اخت زهرة

شكرا على سرعة ودقة الاجابة وهذا ما اردته بالضبط

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

بمعنى اخر

تم إعادة صياغة المثال السابق، وتم ضبط الكود الخاصة بنموذج الذاتيات وفق ما افدت به

ولكن كيف يمكن عن طريق تعليمة ال OpenRecordset معرفة ماهو مخزن في جدول الخيارات هل هي القيمة 1 ام القيمة 2 ولماذا تظهر رسالة الخطاً

ارجو تعديل المثال وفق ماذكرت

والف شكر

Test_11.rar

#5

تفضل اخي الكريم

ملفك بعد التعديل

حيث تم استخدام الكود التالي في حدث عند فتح النموذج

Private Sub Form_Open(Cancel As Integer)
Dim db As DAO.database
Dim rs As DAO.Recordset

Set db = CurrentDb
Set rs = db.openrecordset("select * from Primary;")

If rs![Partner_Show] = 1 Then Me.RecordSource = "Zatea_01"
If rs![Partner_Show] = 2 Then Me.RecordSource = "Zatea_02"

rs.Close

Me.Form.InsideHeight = 6000
Me.Form.InsideWidth = 8500
End Sub

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

zaTest_11_up.rar

للتجربة :

بعد فتح النموذج اختر زر الأمر خيارات البرنامج واختر احد الخيارين " نعم " أو " لا " ثم أغلق النموذج

اختر زر الأمر " الذاتيات " وسوف يعرض لك نموذج الذاتيات السجلات بناء على الإختيار السابق من نموذج خيارات البرنامج

#6

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

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…