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

تعديل في كود التصفية

بدأه lordring في 26 ديسمبر 2011 · 5 رد · 627 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم في المثال المرفق لدي حقل اللقب العلمي يحتوي على بيانات باحث ، باحث علمي , باحث علمي اقدم

عندما اقوم بالتصفية من القائمة الجانبية كما في المثال باختيار كلمة "باحث" فانه يقوم باخراج النتيجة للكل

26-12-2011%2019-34-12.gif

وليس لذوي اللقب باحث فقط ..

فاي الخلل وكيف يتم تعديله

الرابط الخاص بي

وشكرا لكم

#2

تفضل أخى

الكود بعد التعديل

Dim strWhere As String
Dim lngLen As Long

If Not IsNull(Me.lakeb) Then
strWhere = "[اللقب العلمي]='" & Me.lakeb & "'"
End If

lngLen = Len(strWhere)
    If lngLen <= 0 Then
        MsgBox "لايوجد شي للبحث عنه", vbInformation, "نتائج البحث"
    Else
Me.Filter = strWhere
Me.FilterOn = True
نتيجة_البحث.Visible = True
Me.RecordsetClone.MoveLast
نتيجة_البحث.Caption = "لقد عثرت على :" & vbCrLf & Me.RecordsetClone.RecordCount

End If
Me.Requery
1

مدونتى:-

احترف الأكسس مع أبو يوسف

متغيب حاليا لانشغالى الشديد

#3

شكرا اخي بارك الله بيك

#4

السلام عليكم اخي

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

اي ان الكود كان كالتالي

Private Sub BDetail_Click()
Dim strWhere As String
Dim lngLen As Long
If Not IsNull(Me.direct) Then
strWhere = strWhere & "([الدائرة] Like ""*" & Me.direct & "*"") AND "
End If

If Not IsNull(Me.center) Then
strWhere = strWhere & "([المركز] Like ""*" & Me.center & "*"") AND "
End If

If Not IsNull(Me.depart) Then
strWhere = strWhere & "([القسم] Like ""*" & Me.depart & "*"") AND "
End If

If Not IsNull(Me.shoaba) Then
strWhere = strWhere & "([الشعبة] Like ""*" & Me.shoaba & "*"") AND "
End If


lngLen = Len(strWhere) - 5
    If lngLen <= 0 Then
        MsgBox "لايوجد شي للبحث عنه", vbInformation, "نتائج البحث"
    Else
        strWhere = Left$(strWhere, lngLen)
Me.Filter = strWhere
Me.FilterOn = True
نتيجة_البحث.Visible = True
Me.RecordsetClone.MoveLast
نتيجة_البحث.Caption = "لقد عثرت على :" & vbCrLf & Me.RecordsetClone.RecordCount


End If
Me.Requery

End Sub

فالرجاء تعديله لكي يتخلص من المشكلة الاولى

لكن في نفس الوقت يبحث باكثر من معيار تصفية في نفس الوقت

مع التقدير

#5

تفضل اخي الكريم

Private Sub BDetail_Click()
Dim strWhere As String
Dim lngLen As Long
If Not IsNull(Me.direct) Then
strWhere = strWhere & "([الدائرة] Like """ & Me.direct & """) AND "
End If

If Not IsNull(Me.center) Then
strWhere = strWhere & "([المركز] Like """ & Me.center & """) AND "
End If

If Not IsNull(Me.depart) Then
strWhere = strWhere & "([القسم] Like """ & Me.depart & """) AND "
End If

If Not IsNull(Me.shoaba) Then
strWhere = strWhere & "([الشعبة] Like """ & Me.shoaba & """) AND "
End If


lngLen = Len(strWhere) - 5
    If lngLen <= 0 Then
        MsgBox "لايوجد شي للبحث عنه", vbInformation, "نتائج البحث"
    Else
        strWhere = Left$(strWhere, lngLen)
Me.Filter = strWhere
Me.FilterOn = True
نتيجة_البحث.Visible = True
Me.RecordsetClone.MoveLast
نتيجة_البحث.Caption = "لقد عثرت على :" & vbCrLf & Me.RecordsetClone.RecordCount


End If
Me.Requery

End Sub

بالتوفيق

1
#6

الف شكر لكٍ اختي الكريمة الله يجزيك خيرا عن ما تقدميه من جهود جبارة

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