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

[تطبيق] البحث في اكثر من حقل دون استخدام الاستعلامات


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

الاصدقاء الاكارم تحية طيبة

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

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

 

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

مع ملاحظة انه يمكن البحث ب 21 طريقة من خلال هذا المثال البسيط

 

قد يسال البعض من اين تاتي 21 طريقة و لا يوجد في المثال سوى اربعة حقول

الجواب : يمكنك البحث كالآتي

1 الرقم

2 الاسم

3 التاريخ

4 ملاحظات

5 الرقم و الاسم

6 الرقم و التاريخ

7 الرقم و الملاحظات ......

وصولا الى البحث في الحقول الربعة مجتمعة

 

والله من وراء القصد

DbSearch.rar

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

أ / محمد أيمن

جزاك الله خيرا على الابداع ونفع الغير

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

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

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

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

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

اصدقائي الاكارم تحية طيبة

اخي وائل لا يوجد اي فرق بين الطريقتين و ما يحكم عليك وضع نموذج فرعي او لا هو تصميم التطبيق في الاساس

في بعض الاحيان قد تضطر الى اضافة نموذج فرعي و احيانا لا

ولكن في المحصلة النتيجة واحدة

 

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

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

في ١٩‏/٨‏/٢٠١٧ at 14:34, محمد ايمن said:

الاصدقاء الاكارم تحية طيبة

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

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

 

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

مع ملاحظة انه يمكن البحث ب 21 طريقة من خلال هذا المثال البسيط

 

قد يسال البعض من اين تاتي 21 طريقة و لا يوجد في المثال سوى اربعة حقول

الجواب : يمكنك البحث كالآتي

1 الرقم

2 الاسم

3 التاريخ

4 ملاحظات

5 الرقم و الاسم

6 الرقم و التاريخ

7 الرقم و الملاحظات ......

وصولا الى البحث في الحقول الربعة مجتمعة

 

والله من وراء القصد

DbSearch.rar

StrSql = "SELECT * FROM tb1 where " & StrWhere

بس هو بيعتمد على استعلام تم تحويله فقط من استعلام الى جملة SQL

امممممممممممم

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

أ / محمد أيمن. بارك الله فيك

بداية شاكر لك اهتمامك الكريم بالرد 

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

تعديل بمثال أ محمد أيمن.rar

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

تفضل اخي وائل

الاخطاء كانت كالتالي

1- لم تقم بتعريف المتغيرات لتحوي عوامل التصفية

2 - لا يوجد نموذج فرعي في مثالك انما البحث يتم في النموذج الرئيسي

3- يوجد بعض انواع البيانات غير متطابقة في معايير البحث ( على سبيل المثال عندما تبحث عن نص يجب اضافة علامة الاقتباس المفردة ' اما عندما تبحث عن رقم فلا نضع هذه العلامة )

4- الاستعلام يحتوي على شرط

 

اعتذر عن التاخير بالرد بسبب بعض الظروف

تعديل بمثال أ محمد أيمن.rar

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

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

شكرا لاهتمام حضرتك بالرد وكان الله في عونك وكل عام وأنت بخير 

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

4 ساعات مضت, محمد ايمن said:

1- لم تقم بتعريف المتغيرات لتحوي عوامل التصفية

العمل ليس لى فأنا كما ذكرت لحضرتك في عالم الأكواد "أبيض يا ورد" كما يقولون.

4 ساعات مضت, محمد ايمن said:

2 - لا يوجد نموذج فرعي في مثالك انما البحث يتم في النموذج الرئيسي

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

في ٢٠‏/٨‏/٢٠١٧ at 23:16, محمد ايمن said:

اخي وائل لا يوجد اي فرق بين الطريقتين و ما يحكم عليك وضع نموذج فرعي او لا هو تصميم التطبيق في الاساس

في بعض الاحيان قد تضطر الى اضافة نموذج فرعي و احيانا لا

ولكن في المحصلة النتيجة واحدة

 

4 ساعات مضت, محمد ايمن said:

4- الاستعلام يحتوي على شرط

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

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

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

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

اعتذر اخي وائل عن التاخير في الرد

بالنسبة الى سؤالك ما الفرق بين البحث في النموذج الفرعي او الرئيسي

عند اجراء عملية البحث يتم انشاء جملة استعلام SQL وهذه الجملة تعيد سجلات

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

على سبيل المثال لنفرض لدينا نموذج 1 و بداخله نموذج 2

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

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

طبعا الاختلاف يكون في الاكواد

 

اعذرني ولكن لم افهم الغاية من شرط الاستعلام جيدا !!

في تصميم الاستعلام انت وضعت معيار Like اي بمعنى مثل او مشابه

وفي هذه الحالة فان كلمة محمد ايمن هي نفسها كلمة محمد محمود في البحث و السبب اننا عن نبحث عن مشابه

اما اذا اردت البحث عن الكلمة بشكل مماثل اي مطابقة الكلمة المدخلة في البحث فانت لست بحاجة الى هذا المعيار

ملاحظة : الوحدة النمطية التي تقوم بتجريد الحروف من همزة و تاء مربوطة الى آخره غير مستخدمة في الاستعلام

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

 

ارجو منك التوضيح اكثر اخي وائل

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

أستاذ محمد أيمن.

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

46 دقائق مضت, محمد ايمن said:

بالنسبة الى سؤالك ما الفرق بين البحث في النموذج الفرعي او الرئيسي

أستاذى الكريم شكرا على التوضيح.

46 دقائق مضت, محمد ايمن said:

اعذرني ولكن لم افهم الغاية من شرط الاستعلام جيدا !!

هذا الأستعلام ليس من صنعى بل هو إفادة كريمة من الأستاذ جعفر - جزاه الله خيرا - لى في مداخلتى في هذه المشاركة

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

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

 

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

في ٢١‏/٨‏/٢٠١٧ at 00:21, عبق الرياحيين said:

StrSql = "SELECT * FROM tb1 where " & StrWhere

بس هو بيعتمد على استعلام تم تحويله فقط من استعلام الى جملة SQL

امممممممممممم

صحيح ولكن هنا يتم تطبيق المعايير برمجيا

اخي وائل تحية طيبة و كل عام و انت بخير

بعد التعمق اكثر في مثالك لديك حلين لا ثالث لهما

لكن قبل الحل اود توضيح بعض الافكار

الجدول Foaid يحتوي على عدة حقول طبعا يمكنك البحث ضمن هذه الحقول كما تشاء

لكن عند البحث عليك مراعاة ان البحث سيكون في كلمات غير مجردة مثلا كلمة اربعة غير كلمة أربعة

الجدول tbl_txt

يحتوي على حقل نصي تجتمع فيه كل حقول الجدول Foaid ,ولكن بكلمات مجردة ( اي انه يتم تجريد الحرف من الهمزة و خلافه )

الحلول المتاحة حاليا

الحل الأول

البحث ضمن الجدول Foaid ضمن كافة الحقول مع مراعاة عدم تجريد الكلمات

الحل الثاني

البحث ضمن الجدول tbl_txt ضمن حقل txt والذي يحوي كافة الكلمات بشكل مجرد

 

ارجو ان تكون قد اتضحت الفكرة و اي استفسار انا جاهز

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

أ محمد أيمن سلام الله عليكم ورحمته وبركاته

بداية كل عام وحضرتك بخير وصحة وسعادة وعيد أضحى سعيد 

48 دقائق مضت, محمد ايمن said:

بعد التعمق اكثر في مثالك لديك حلين لا ثالث لهما

ثانيا ممتن جدا بالشكر لحضرتك لحرصك على الاهتمام والمتابعة بالرد والمشاركة رغم مشاغلك.

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

وجزاك الله كل خير

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

16 ساعات مضت, وائل أبو عبد الرحمن said:

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

تحية طيبة اخي وائل

البحث ضمن الجدول tbl_txt ضمن حقل txt والذي يحوي كافة الكلمات بشكل مجرد

وهنا لا يوجد سوى حقل واحد يتم البحث ضمنه وهو حقل txt

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

أ محمد أيمن بارك الله فيك

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

5 ساعات مضت, محمد ايمن said:

البحث ضمن الجدول tbl_txt ضمن حقل txt والذي يحوي كافة الكلمات بشكل مجرد

وهنا لا يوجد سوى حقل واحد يتم البحث ضمنه وهو حقل txt

إذا وحسب ما فهمت أننا لا نستطيع عمل بحث متعدد لأن حقل البحث واحد وهو حقل txt فى جدول tbl_txt وايضا فى كود البحث في الاستعلام qry_Search.

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

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

  • 2 weeks later...
  • Moosak locked this topic
زائر
هذا الموضوع مغلق.
×
×
  • اضف...

Important Information