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

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


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)





هناك تعليقان (2):

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

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

    ردحذف