تصفية السجلات حسب ما يتم كتابته اولا باول

لتصفية البيانات اولا باول حسب ما يتم كتابته نحتاج الى ما يلي:
يمكنك مشاهدة الفيديو او الاستمرار بقراءة الموضوع


1- انشاء نموذج (النوعة نماذج مستمرة Continues Forms او نماذج مقسومة Split Form) ونقوم باضافة كومبو بوكس في رأس النموذج 

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

يكون شكل النموذج عند تشغيلة كما يلي:

2- نقوم باضافة الكود التالي في حدث عند التحديث (On Change) الخاص بالكومبوبوكس
على فرض ان: الكومبوبوكس اسمةCombo01 و الحقل الذي سيتم البحث فيه اسمة StName

 'اذا كان الكومبو فاغ فانه يتم الغاء الفلتر
If Nz(Me.Combo01.Text) = "" Then
    Me.Form.Filter = ""
    Me.FilterOn = False
    
   'اذا تم الاختيار من الكومبو.
  ' اذا قمت باستخدام مربع نص فان الكود التالي يجب حذفة.
  ElseIf Me.Combo01.ListIndex <> -1 Then
    Me.Form.Filter = "[StName] = '" & _
                     Replace(Me.Combo01.Text, "'", "''") & "'"
    Me.FilterOn = True
    
  ' اذا تم الكتابة في الكومبو - عملية البحث عن ما تكتبه.
  Else
    Me.Form.Filter = "[StName] Like '*" & _
                     Replace(Me.Combo01.Text, “‘”, "''") & "*'"
    Me.FilterOn = True
  End If
  
  ' اعادة التركيز الى الكومبو ووضع المؤشر في نهاية ما تم كتابته.
  Me.Combo01.SetFocus
  Me.Combo01.SelStart = Len(Me.Combo01.Text)





تعليقات

  1. السلام عليكم
    كيف اخليه يبحث في حقلين بنفس الوقت هل استخدم or اتمنى تعرض مثال شكرا لك

    ردحذف
  2. ممكن استبدال الحل بلاكواد الى الماكرو

    ردحذف

إرسال تعليق

المشاركات الشائعة من هذه المدونة

الشروط في الاستعلامات

اخفاء اطار/ شاشة مايكروسوفت اكسس

انواع الاستعلامات في اكسس