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

مشكلة في بحث لعدة حقول من نموذج مستند على إستعلام متعدد


إذهب إلى أفضل إجابة Solved by أبو آدم,

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

السلام عليكم جميعا

 

قمت بعمل عدة حقول في نموذج مصدره استعلام لثلاثة جداول

هذه الحقول لغرض عمل تصفية (بحث)

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

حين أحذف الحقل الخامس ترجع السجلات كلها !

 

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

 

الطريقة هي كالتالي :

 

في الإستعلام وضعت تعابير بمثل :

 

Like "*" & [Forms]![FormTabItems]![SerchItemID] & "*"

 

وفي حدث بعد التحديث After Update

 

وضعت الكود التالي لكل حقل طبعا كل حقل باسمه

 

Me.Requery
Me.SerchItemID.SetFocus

 

أرفقت القاعدة في حال احتياجها لغرض الحل

وهي من نوع أكسس 2010

أعتذر فلا استطيع تحويلها لنوع آخر أعتقد أنه لا يمكن

 

* استفساري هنا هل هناك حل بهذه الطريقة ؟

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

فليس مهم هذه الطريقة ان كانت لديكم فكرة أخرى

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

اضافة معلومة لتوي انتبه لها

 

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

وحين لا يكون هناك قيمة لهذا الحقل في سجل ما فإنه لا يظهر !

 

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

 

أرجو ان تكون هذه المعلومة مفيدة

تم تعديل بواسطه هاوي الأكسس
  • Like 1
رابط هذا التعليق
شارك

تحديث

لتوي اليوم انتبهت لاساس المشكلة

وهي ليست في تعدد الجداول في الإستعلام

وليست في تعدد حقول البحث

 

إنما الأساس هو في حالة وجود حقل لا يحتوي على قيمة... فإن السجل لا يظهر

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

المطلوب إذاً أن تظهر كامل السجلات في بداية فتح النموذج وكذلك بعد الغاء عملية البحث.. أما اثناء البحث لا مشلكة

 

أرجو اني وضحت المشكلة

 

تحياتي

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

السلام عليكم

 

لا اعرف ان كنت فهمت المشكلة بشكل صحيح لكن جرب هذا 

 

Private Sub Command10_Click()

Me.SerchItemOriginal = ""
Me.SerchItemName = ""
Me.SerchItemID = ""

Me.Requery



End Sub

 

تحياتي

 

نعم أخي الكريم هذا الكود يعمل ويحل مشكلة واحدة..

وهي تحديث النموذج بعد عملية البحث والتصفية

 

لكن تبقى مشكلة اظهار جميع السجلات في اول مرة يتم فتح النموذج !!

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

لاستعادة مصدر السجلات استخدم

 

 

 

Private Sub Command10_Click()


Me.SerchItemOriginal = Restor
Me.SerchItemName = Restor
Me.SerchItemID = Restor


Me.RecordSource = "QueryTabItems"


End Sub
 

 

شكرا لك اخي

 

أيضاً هذا يعمل ولحل مشكلة التحديث بعد البحث

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

لتجنب خلو الحقول من القيم استخدم (في الاستعلام)

 

 

 

 Like "*" & [Forms]![FormTabItems]![SerchItemID] & "*"  Or [Forms]![FormTabItems]![SerchItemID] Is Null
 

 

جــــداً رائــــــــــــع

 

يعمل وبشكل ممتاز أخي أبو آدم

 

بارك الله فيك

 

وتقبل شكري وتقديري

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

لتجنب خلو الحقول من القيم استخدم (في الاستعلام)

 

 

 

 Like "*" & [Forms]![FormTabItems]![SerchItemID] & "*"  Or [Forms]![FormTabItems]![SerchItemID] Is Null
 

 

هذه اجابة وافية أخي الكريم وفعالة..

 

لكن هناك مشكلة مع كود التحديث بعد البحث

 



Private Sub Command10_Click()


Me.SerchItemOriginal = Restor
Me.SerchItemName = Restor
Me.SerchItemID = Restor


Me.RecordSource = "QueryTabItems"


End Sub

 

فقط عند اجراء اول بحث عند فتح النموذج وبعد ضغط الزر لتحديث النموذج.. تظهر الصورة التالية :

 

qcV67689.png

 

 

بعد اجراء عملية البحث الأولى وضغط الزر مرتين .. يمكننا اجراء عملية بحث ثانية وثالثة وفقط نحتتاج لضغط الزر مرة واحدة..

 

الحل ممتاز ولكن تبقى مشكلة صغيرة وهي هذه حيث لابد من الضغط على الزر مرتين في أول عملية بحث!

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

 

اذا بالامكان تطوير الكود ليقوم بالعمل من أول ضغطة على الزر  !

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

الحمدلله الذي بفضله تقضى الحاجات

 

............

 

حبذا لو تعرفّنا على إسمك الكريم بدل هوايتك ...

 

..............

 

 

ونعم بالله أخي الكريم أبو آدم

نعم الحل ممتاو وأعجبني حقاً لسهولته

لكن انتبهت لتوي فقط للمشكلة الصغيرة في كود التحديث..

 

أحرجتنا بأمر الاسم

ولكن الكنية بأبو جاسم

 

تقبل تحياتي

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

:rol:

 

معذرة أتعبتك معي ...

 

هذا الكود يحل مشكلة الضغطة الأولى بعد أول عملية بحث..

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

 

أعرف أتعبتكم اخي الكريم

 

لست في عجلة من أمري

تم تعديل بواسطه هاوي الأكسس
رابط هذا التعليق
شارك

السلام عليكم أبو آدم

 

لقد قمت بإعادة التجربة في قاعدة أخرى ولاحظت التالي :

 

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

وصحيح أنهما يعيدان اظهار السجلات ما عدا السجل الذي لا يحتوي على قيمة (قيمة فارغة).. ولكن 

 

لاحظت أنهما يمكنهما إعادة اظاهر حتى السجل الذي  لا يحتوي على قيمة (قيمة فارغة)... ولكن

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

 

فقط عندما نطلب بحث في السجل الناقص ومباشرة ضغطنا الزر.. أما في حال طلبنا بحث في سجل يحتوي كامل البيانات ومباشرة طلبنا أمر تحديث.. فإن السجلات لن تظهر كاملة...

.

أعتقد معرفة المشكلة تكون مفتاح لصناعة الحل !

 

أتمنى ساهمت في تبسيط وتوضيح المشكلة ..

 

حفظكم الله

تم تعديل بواسطه هاوي الأكسس
رابط هذا التعليق
شارك

مرحبا جميعا

 

أخيرا تم حل المشكلة كاملة

 

نفس الأكواد أخي الكريم أبو آدم

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

 

أما الآن ومنذ قليل راجعت نفسي ورجعت للملف الأصلي لدي والذي يحتوي على عدة جداول في الإستعلام

وظهرت النتيجة سليمة وفعالة مية بالمائة

 

اذا في حالة عدة جداول تكون العملية سليمة وهذا هو المطلوب...

 

أشكر لك جهدك واهتمامك

وتقبل تحياتي

 

:biggrin2: 

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

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

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

Important Information