الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

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

بدأه Khodor1985 في 12 ديسمبر 2014 · 7 رد · 1,425 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

أحببت أن أطلعكم على طريقة بحث سهلة جدا، وهذه الطريقة في البحث لا تعتمد على معيار أو شرط واحد في استدعاء واستخراج البيانات بل أكثر من معيار، على سبيل المثال لنفترض أن لديك جدول بعنوان 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 Next
DoCmd.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 = Null
Me.txtLname = Null
Me.txtAddress = Null
Me.txtFromDate = Null
Me.txtToDate.Value = Null

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

On Error Resume NextMe.FilterOn = False

post-275979-0-77707400-1418413383_thumb.

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

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

2
#2

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

post-275979-0-01887500-1418413816_thumb.

1
#3

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

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

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

 

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

 

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

تم تعديل هذه المشاركة بواسطة أبو لميس في 13 ديسمبر 2014 في 15:31

#4

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

#5

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

#6

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

 

khodor-search.rar

1
#7

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

 

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

 

تحياتي

 

+1

اذا دعتـــك قدرتك على ظلـــم الناس   فتذكر قدرة الله عليــــــك

#8

:)

مواضيع مشابهة