• 0
Khodor1985

طريقة بحث سهلة جداً

سؤال

السلام عليكم إخواني الأعزاء ورحمة الله وبركاته

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

- ID

- FirstName ............ الإسم الأول

- LastName ............ الشهرة

- Country     ........... البلد

- SDate    .............. التاريخ

 

بعد ذلك قم بتحويل الجدول إلى نموذج بعنوان TestF ثم أدرجت عناصر التحكم التاللية في أعلى النموذج وهي :

- مربع تحرير وسرد إسمه البرمجي txtFname وهذا المربع له علاقة بالحقل FirstName

- مربع تحرير وسرد البرمجي txtLname وهذا المربع له علاقة بالحقل LastName

- مربع تحرير وسرد البرمجي txtAddress وهذا المربغ له علاقة بالحقل Country

- مربع نص إسمه البرمجي txtFromDate وهذا المربع له علاقة بالحقل SDate

- مربع نص إسمه البرمجي txtToDate وهذا المربع له علاقة بالحقل SDate

 

بعد ذلك نقوم بتحديد مصدر الصف لكل عنصر من مربعات التحرير والسرد:

- نختار مصدر الصف لمربع التحرير والسرد txtFname الحقل FirstName من الجدول Test ويجب أن تكون Grouped لمنع تكرار الأسماء في مربع التحرير والسرد وهذا الإجراء يسري على كافة مربعات التحرير والسرد المذكورة أدناه.

- نختار مصدر الصف لمربع التحرير والسرد txtLname الحقل LastName من الجدول Test.

- نختار مصدر الصف لمربع التحرير والسرد txtAddressالحقل Country من الجدول Test.

 

بعد ذلك ندرج زري أمر :

- الأول بعنوان Search ......بحث

- الثاني بعنوان Reset ....... تصفير البحث

 

بعد ذلك، نضع الكود التالي في زر الأمر Search وهو :

On Error Resume NextDoCmd.ApplyFilter "", _"([Fname] = [Forms]![TestF]![txtFname]" & _" or isnull([Forms]![TestF]![txtFname]))" & _"AND " & _"([Lname] = [Forms]![TestF]![txtLname]" & _" or isnull([Forms]![TestF]![txtLname]))" & _"AND " & _"([Country] = [Forms]![TestF]![txtAddress]" & _"or isnull([Forms]![TestF]![txtAddress]))" & _"AND " & _"([SDate] >= [Forms]![TestF]![txtFromDate]" & _" Or isnull([Forms]![TestF]![txtFromDate]))" & _"AND " & _"([SDate] <= [Forms]![TestF]![txtToDate]" & _" or isnull([Forms]![TestF]![txtToDate]))"Me.txtFname = NullMe.txtLname = NullMe.txtAddress = NullMe.txtFromDate = NullMe.txtToDate.Value = Null 

ثم نضع الكود التالي في زر الأمر Reset :

On Error Resume NextMe.FilterOn = False

post-275979-0-77707400-1418413383_thumb.

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

أسألكم الدعاء

2

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

7 إجابة على هذا السؤال .

  • 0

هذه صورة عن الفكرة

post-275979-0-01887500-1418413816_thumb.

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

قلما نجد موضوعات بها شروح أو إفادات

معظم الموضوعات من أمثال

أرجو المساعدة

 

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

 

ممكن ترفق ملفا للتوضيح

تم تعديل بواسطه أبو لميس
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

ياريت لو ترفق المثال ...........

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تفضل أخي العزيز

 

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مثال رائع اخي الكريم خضر

 

خالص الاحترام والتقدير

 

تحياتي

 

+1

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

:)

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

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

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



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .