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

كيف أجعل استعلاما يقرأ البيانات من نموذجين

بدأه safawal في 6 يوليو 2018 · 5 رد · 805 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

قمت بتصميم واجهتين تفتح لكل موظف حسب مسؤولياته،

السؤال.. لدي بعض النماذج مشتركة لكلا الموظفين الاثنين؛

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

العمل الذي أقوم به أني أعمل استعلام آخر للواجهة الأخرى لكي يقرأ البيانات، وفي ظني أن هناك طريقة لكتابة المعيار في الاستعلام ليقرأ البيانات من النموذج المفتوح حاليا..

استخدمت Or في حقل المعايير لكن يسأل عن النموذج المفقود وهذه مشكلة..

أرفقت مثالا ليتضح مرادي..

هناك واجهة Front1 وواجهة Front2

 ولدي نموذج مشترك للواجهتين اسمه T1

إذا فتحت هذا النموذج المشترك يقرأ اسم المستخدم من واجهة Front1

معيار الاستعلام في هذا النموذج مبني على الواجهة المفتوحة Front1

ما هي الطريقة بدل أن أصنع نموذج واستعلام آخر ، أن أعدّل على الاستعلام بحيث يتعرف على الواجهة المفتوحة مباشرة ويجلب البيانات.

Test.zip

#2

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

بالحقيقة قد اكون فهمت طلبك بصورة خاطئة

و لكن إن كان المطلوب أن كل مستخدم يقوم بالدخول المخصص له 

إليك هذه الحيلة 

اولا على جدول المستخدمين اضفت حقل جديد تحت مسمى StartForm
حددت به الفورم الذي يدخل إليه المستخدم

 1.jpg.f02716038ebe4d83f89b2e32a087a190.j

ثانيا قمت بتعديل الفورم T1 إلي UserName و بنيت به حقلين الأول لاسم المستخدم و الثاني لكلمة السر

2.jpg.df72f5f05838791d63f0e906a5216aa9.j

ثالثا قمت بعمل استعلام بقوم بالتدقيق على اسم المستخدم و كلمة السر المدخلتان في UserName و يظهر اسم الفورم المطلوب فتحه

6.jpg.38af938c5e5e933368dab3c7205a4871.j

رابعا وضعت الكود التالي 

4.jpg.247b1504533aa28e0211f93ad07ef112.j

الذي يستدعي اسم الفورم للمستخدم  و يقوم بفتحه

هكذا بكل بساطة 

أتمنى أن يكون هذا طلبك و بالتوفيق

تفضل - و بالتوفيق

 

 

Test1_2016.accdb

تم تعديل هذه المشاركة بواسطة mirage4pc في 6 يوليو 2018 في 21:24

#3

والله حيلة رائعة.. أجمل من طريقتي

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

If [user_name] = [n1] And [password] = [n2] And [Type] = "معلم" Then

 

DoCmd.OpenForm "واجهة", acNormal
[error_level] = 0

 

Else
If [user_name] = [n1] And [password] = [n2] And [Type] = "مسؤول" Then
DoCmd.OpenForm "Admin", acNormal
[error_level] = 0
DoCmd.Close acForm, "user2"
Else
If [user_name] = [n1] And [password] = [n2] And [Type] = "إداري" Then
DoCmd.OpenForm "Supervisor", acNormal
[error_level] = 0
DoCmd.Close acForm, "user2"
 
لكن سؤالي تحديدا بعد فتح فورم الأول.. وقد عملت فورم ثالث مخصص للأول والثاني، وهو مرتبط لنزع اسم المستخدم غير المرئي لنقل اسم المستخدم على أي عملية يقوم بها..
الطريقة البدهية، أني أقوم بإنشاء نسخة رابعة للفورم الثالث لكي يعمل للفورم الثاني..
الذي أريده تحديدا..
كيف أجعل الاستعلام يقرأ من الفورم الأول، إذا كان مفتوحا، وإذا لم يكن مفتوحا ينتقل للفورم الثاني..
لك بالغ شكري على الفكرة الجديدة وسأستفيد منها كثيرا
#4

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

( كيف أجعل الاستعلام يقرأ من الفورم الأول، إذا كان مفتوحا، وإذا لم يكن مفتوحا ينتقل للفورم الثاني..

لك بالغ شكري على الفكرة الجديدة وسأستفيد منها كثيرا )

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

تم تعديل هذه المشاركة بواسطة mirage4pc في 7 يوليو 2018 في 14:15

#5

مرفق مع سؤالي..

افتح النموذج T1 بعد فتح Front1 سيقرأ الاستعلام بشكل طبيعي من الفورم الأول ويظهر اسم المستخدم

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

الشيء الذي أعمله عادة أني أضطر أنسخ الاستعلام T1_Q وألصقه T2_Q وأقوم بتغيير اسم الفورم من المعايير

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

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

شكرا سلفا لتجاوبكم

تم تعديل هذه المشاركة بواسطة safawal في 7 يوليو 2018 في 18:43

#6

هل من مجيب؟

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

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

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

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

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