اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

كيف يمكن عمل نموذج فرعي متغير بحسب الجدول / الإستعلام المختار


salehamr

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

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

كيف يمكن عمل نموذج فرعي واحد فقط بحيث تكون بياناته مستقاه من( الجدول / الإستعلام) الذي يتم إختياره من قائمة منسدلة

رابط هذا التعليق
شارك

تحية وإحترام وتقدير وإمتنان لك أخي

لم أصل للمطلوب بعد حيث أن مثالك المرفق :

يعرض مربع السرد CboTables الجداول والإستعلامات في قاعدة البيانات

ويعرض مربع السرد CboFields حقول الجدول / الإستعلام الذي تم إختياره

ويعرض مربع السرد LstRecords سجلات الحقل الذي تم إختياره

وإلى هنا عظيم وممتاز

ولكن المطلوب إضافة لما سبق إدراج نموذج فرعي SubForm داخل النموذج الرئيسي { يستعرض ( الجدول / الإستعلام) } الذي تم إختياره لأتمكن من إجراء فلترة عليه بحسب قيمة ألـــ LstRecords

مع الشكر .

رابط هذا التعليق
شارك

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

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

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

رابط هذا التعليق
شارك

أخي الكريم

أحيانا يصعب شرح الطلبات المعقدة ... لأنها عادة تحتوي على الكثير من الأفكار ... أرجو أن تتطلع على الكود بنفسك و تبلغني بالجزء الذي لم تفهمه ... :smile2:

رابط هذا التعليق
شارك

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

1- لطفاً توضيح الكود أدناه مع أنه شارح لنفسه تقريباً وبالذات لماذا Then SearchValue = " = '" & Me.LstRecords.Value

SearchValue = Nz(Switch( _

IsDate(Me.LstRecords.Value), " = #" & Me.LstRecords.Value & "#", _

IsNull(Me.LstRecords.Value), " Is Null", _

IsNumeric(Me.LstRecords.Value), " = " & Me.LstRecords.Value), "")

If SearchValue = "" Then SearchValue = " = '" & Me.LstRecords.Value & "'"

2- أريد إستخدام أداة OptionGroup لإختيار أسلوب الترتيب ( تصاعدي أو تنازلي ) على الحقل الذي تم إختياره ؟؟

رابط هذا التعليق
شارك

أخي الكريم

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

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

[رقم العميل] = 2

القيمة = 2 و نوعها رقم ... :frown3:

إذا كان شكل القيمة لا يناسب نوعها في الفلترة ... يظهر لك الخطأ رقم 2001 كما ظهر لي

نأتي الآن لشرح شكل القيمة المطلوب في الفلترة حسب الأنواع الشائعة التي وضعتها

1- إذا كان نوع القيمة رقم ( أو صح أم خطأ ) .... يمكن كتابتها مثل ما هي

True = -1 and False = 0

"[كود العميل] = 2 "

2- إذا كان نوع القيمة مجموعة حروف String ... يجب إحاطتها عادة ب Single Quote ( ' )

"[كود العميل] = 'ABC' "

3- إذا كان نوع القيمة تاريخ ... يجب إحاطتها ب Hash ( # )

"[تاريخ الميلاد] = #02-02-2005#"

4- إذا كان نوع القيمة Null يجب وضع Is Null و لا يمكنك وضع = Null

أمر Switch يقوم بنفس وظيفة Select Case or If Statement و لكن بشكل مختلف قليلاً

فإذا كان الشرط صحيح يسترجع القيمة التي بعد الشرط مباشرة ... , و إن لم يتحقق أي شرط فإن القيمة المسترجعة تكون Null ... لذلك أنا حولتها مرة أخرى إلى "" باستخدام الأمر Nz

و هذا الموقع يشرح هذا الأمر ببساطة

Switch Function

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

2- أريد إستخدام أداة OptionGroup لإختيار أسلوب الترتيب ( تصاعدي أو تنازلي ) على الحقل الذي تم إختياره ؟؟

تم تعديل قاعدة البيانات ... أرجو أن يكون هذا طلبك

بالتوفيق ... إن شاء الله ... :frown3:

All_Tables_And_Queries.zip

رابط هذا التعليق
شارك

بارك الله فيك وطمعاً في الأجاويد أمثالك أتسمح لي بطلب الآتي :

1- أريد إستخدام أداة OptionGroup أخرى لإختيار أسلوب الفلترة :

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

2- هل يمكن إستخدام قائمة LstRecords للتصفيةالمتدرجة للسجلات بمجرد كتابة أول حرف مع بقاء إمكانية الإختيار من القائمة ...... ؟؟

رابط هذا التعليق
شارك

الصراحه أنا مشغول شوي هاليومين .

كما أنني أحاول حل مشكلات برامج باقي الأعضاء (توجد مشكلة صعبة منهم أخذت من وقتي الكثير و لم أجد الحل لها إلى الآن ) ... لذلك أرجو تصبر علي إذا كان ممكن أو احتمال أحد الأعضاء يكمل ما بدأت به

1- تحديد السجلات وتلوينها بلون مغاير فقط دون تصفية 2- تصفية كما هو الحال في المثال ) على الحقل الذي تم إختياره ؟؟

يمكن التحكم بال Conditional Formatting عن طريق الكود .... يمكن عمل هذ الطلب

2- هل يمكن إستخدام قائمة LstRecords للتصفيةالمتدرجة للسجلات بمجرد كتابة أول حرف مع بقاء إمكانية الإختيار من القائمة ...... ؟؟

للأسف لا توجد فلترة في ال ListBox و إلا أصبحت العملية أسهل ... و لكن يمكن التحكم بال RecordSource للقيام بالمطلوب

هذه مجرد أفكار مبدئية للحل .... احتمال أنت تستفيد منها ... أو تصبر على شوي لو تكرمت.... :frown3:

رابط هذا التعليق
شارك

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

عسانا نبقى بالبال ونحن بالإنتظار يا أخي

رابط هذا التعليق
شارك

حيث أني بحاجة وعلى ما يبدو أن أخينا Dream_ Works مشغول جداً كان الله في عونه فهل من مساعد آخر لإستكمال مثاله مشكوراً أو هل سيكون لنا حظاً معه ثانية جزاكم الله خيراً :

المطلوب :

1- إدراجOptionGroup تحوي زرين :

1 - تحديد السجلات وتلوينها بلون مغاير دون تصفية ؟؟

2 - تصفيةالسجلات ؟؟ كما هو الحال في المثال

2- بما أنه لا يمكن إستخدام قائمة LstRecords للتصفية فهل يمكن إستبدالها بمربع تحرير وسرد لإستخدامه لغرض التصفية المتدرجة للسجلات بمجرد كتابة أول حرف مع بقاء إمكانية الإختيار من مربع التحرير والسرد ...... ؟؟

رابط هذا التعليق
شارك

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

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

Important Information