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

تصحيح كود للبحث

بدأه خالد يحي الامام في 4 أغسطس 2012 · 5 رد · 631 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بعد التحية

لدي نموذج للبحث وبه مربع نص لعملية البحث ليتم ادخال طريقة البحث المناسبة وما اريده عندما ابحث عن الاسم يكون البحث بالاسم الاول او الثاني او اسم القبيلة حيث حقل الاسم في الاستعلام المبني عليه نموذج البحث هو دمج لثلاثة حقول الاسم الاول والاسم الثاني واسم القبيلة والكود ادناه فقط يبحث ببداية الاسم ولكم الشكر

If Not (txtSearch.Text = "") Then
Me.Filter = "[Trainee Name]  like '" & Trim(VarSearch) & "'"
Me.FilterOn = True
Me.OrderBy = "[Trainee Name] Asc"
Me.OrderByOn = True
Else: Me.FilterOn = False
Me.OrderByOn = False
End If
#2

اخي الفاضل خالد

ستجد التصحيح والتعديل في هذه المشاركة

انظر آخر مثال

/index.php?showtopic=267148

بالتوفيق

#3

لكي الشكر والتقدير استاذتي الموضوع يختلف اليكي الامر والكود بصورة اكثر توضيحا

النموذج مبني من استعلام وليست قائمة وبه مربع نص للبحث وقائمة لاختيار نوع البحث في الكود ادناه عند البدء في البحث بالاسم وكتابة اول حرف في الاسم يظهر الخطأ ويظلل كلمة Restr في الكود الاخيرة في الكود مع العلم بان الاسماء باللغة الانجليزية وحقل كما ذكرت سايقا وهو [Trainee Name] مكون من ثلاثة حقول في الجدول الاسم الاول والاسم الثاني واسم القبيلة وما يتم تظليها هي ما تحتها خط الان في الكود ولكي الشكر

Private Sub txtSearch_Change()
On Error Resume Next
If IsNull(Me.Combo) Then
MsgBox "ÍÏÏ ÎíÇÑÇÊ ÇáÈÍË ÃæáÇ "
Else
If Me.Recordset.RecordCount = 0 Then
Me.FilterOn = False
End If

Me.Text2.Value = txtSearch.Text

'add space to text if space was pressed
If Me.Ts = 2 Then
Me.txtSearch = Left$(txtSearch, Len(txtSearch.Text) - 1) & " " & Right$(Text2, 1)
Me.Ts = 0
End If
VarSearch = txtSearch.Text & "*"

Select Case Me.Combo
 '-------------
Case Is = "Search by Name"
 '-------------
If Not (txtSearch.Text = "") Then
Me.Filter = "ReStr(Trim[Trainee Name], True, True, False, False) like '*" & ReStr(Trim(txtSearch.Text), True, True, False, False) & "*'"
Me.FilterOn = True
Me.OrderBy = "[Trainee Name] Asc"
Me.OrderByOn = True
Else: Me.FilterOn = False
Me.OrderByOn = False
End If
#4

اخي الفاضل : خالد

استخدم هذا الكود للبحث عن اي كلمة سواء في البداية او الوسط او النهاية

If Not (txtSearch.Text = "") Then
Me.Filter = "[Trainee Name]  like '*" & Trim(VarSearch) & "*'"
Me.FilterOn = True
Me.OrderBy = "[Trainee Name] Asc"
Me.OrderByOn = True
Else: Me.FilterOn = False
Me.OrderByOn = False
End If

بالتوفيق

#5

بعد التحية والتقدير استاذتي

استخدمت الكود ويعمل 100% والحمد لله ولدي استفسار اذا كان بالامكان المساعدة فية اذا كان لدي اسم Ahmed salim saif alabri واريد البحث عنه فعند البحث بالاسم Ahmed فيتم ذلك بسهولة ولكن سؤالي اذا بالامكان اريد ان ابحث بالاسم من اسمين Ahmed salim او ثلاثة اسماء Ahmed salim saif فعند البد في كتابة Ahmed واستخدام مفتاح المسافة للفصل وكتابة salim هنا يكرر الحرف الأول هو ِA وهكذا ولكي الشكر

#6

جمعه مباركة للرفع

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