اذهب الي المحتوي
أوفيسنا

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

قام بنشر

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

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

قام بنشر

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

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

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

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

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

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

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

مع الشكر .

قام بنشر

أخي الكريم

يبدو أن حل هذه المشكلة سيطول .... أنا سأحاول قدر استطاعتي إيجاد حل مناسب ... أرجو أن تطول بالك شوي ... :frown3:

قام بنشر

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

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

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

قام بنشر

أخي الكريم

أحيانا يصعب شرح الطلبات المعقدة ... لأنها عادة تحتوي على الكثير من الأفكار ... أرجو أن تتطلع على الكود بنفسك و تبلغني بالجزء الذي لم تفهمه ... :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 للتصفية فهل يمكن إستبدالها بمربع تحرير وسرد لإستخدامه لغرض التصفية المتدرجة للسجلات بمجرد كتابة أول حرف مع بقاء إمكانية الإختيار من مربع التحرير والسرد ...... ؟؟

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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

Important Information