السلام عليكم إخواني الأعزاء حفظكم الله
عندي برنامج وأريد عمل فروم بحث بعدة خيارات لذا أريد ممن لديه الخبرة بإن يعدل لي المرفق وياريت يكون بشرح خطوة خطوة إذا أمكن لكي أطبقه على برنامج ،،،،، بإنتظاركم حفظكم الله
وين الرد ياشباب
في رأي المتواضع مش مستاهله اننا نضع كل هذه المربعات
ويمكن ان نجعلها مربع للبحث واحد فقط ويقوم بنفس المطلوب ويبحث معك بكل شئ كما هو موضح بالصورة
بالتوفيق
اخوك ---- محمود المصري
(اللَّهُمَّ أَنْتَ رَبِّي لا إِلَه إِلاَّ أَنْتَ خَلَقْتَني وأَنَا عَبْدُكَ وأَنَا على عهْدِكَ ووعْدِكَ ما اسْتَطَعْتُ أَعُوذُ بِكَ مِنْ شَرِّ ما صنَعْتُ أَبوءُ لَكَ بِنِعْمتِكَ علَيَ وأَبُوءُ بذَنْبي فَاغْفِرْ لي فَإِنَّهُ لا يغْفِرُ الذُّنُوبِ إِلاَّ أَنْتَ)
اذا كانت المشاركة مفيدة لك فلا تبخل علينا بالتقييم
عبير الزهور كتب:السلام عليكم
اخي الكريم المرفق بعد التعديل و هو مطابق لمثال الاخت زهرة يا ريت يكون هو المطلوب
جزاك الله خير ،،، هذا هو المطلوب ماقصرت يالغالي ,,,, بس في ملاحظة هي عندما أضغط على زر إعادة البحث يفتح لي إضافة موضوع جديد ،،،، وياريت يكون يظهر لي في الخانة التي في الزاوية عدد نتائج البحث
عموما ً ماقصرت عملت المطلوب وأنا شاكر لك
عبير الزهور كتب:
أخي عبير الزهور تواجهني مشكلة وهو عند البحث في أي قسم الأمور طيبة وماشية ،، ماعدا البحث في خانة التفاصيل يظهر ( تم حذف السجل ) وتكون الكلمات هكذا name# كما في الصورة المرفقة ...
تم تعديل هذه المشاركة بواسطة قهرني الأكسس في 8 أكتوبر 2014 في 08:57
تفضل :)
1. انا غيرت اسماء حقول البحث ، من نص1 وووو ، الى اسمائها الحقيقة فاصبحت هكذا مثلا: str_r ،
2. غيرت اسم النموذج الفرعي الى sfrm_Search ،
3. عملت حدث بعد التحديث على جميع حقول البحث ، بحيث انها جميعا تنادي الوحدة Check_Selected ،
4. في الكود Check_Selected ، جعلت البحث حسب نوع المعلومة:
أ- الرقم : يجب ادخاله بالكامل ،
ب- التاريخ : والكود يأخذه بالصيغة حسب الجدول ،
ج- النص : ويمكن البحث في اي جزء منه ،
5. بعد مراجعة جميع الحقول ، يقوم الكود بوضع الفلتر في النموذج الفرعي (الذي به البيانات المراد تصفيتها) ،
وهذا هو كود النموذج كاملا:
Option Compare Database
Private Sub Form_Close()
Me.sfrm_Search.Form.Filter = ""
Me.sfrm_Search.Form.FilterOn = False
End Sub
Private Sub Form_Load()
Me.sfrm_Search.Form.Filter = ""
Me.sfrm_Search.Form.FilterOn = False
End Sub
Private Sub str_d_AfterUpdate()
Call Check_Selected
End Sub
Private Sub str_id_AfterUpdate()
Call Check_Selected
End Sub
Private Sub str_m_AfterUpdate()
Call Check_Selected
End Sub
Private Sub str_r_AfterUpdate()
Call Check_Selected
End Sub
Private Sub str_t_AfterUpdate()
Call Check_Selected
End Sub
Private Sub Check_Selected()
Dim FF As String
FF = ""
'str_d
'date: has to be as per the table format
If Len(Me.str_d & "") = 0 Then
Else
FF = "d=#" & Format(Me.str_d, "mm-dd-yyyy") & "#"
End If
'---------
'str_id
'Numeric:
If Len(Me.str_id & "") = 0 Then
Else
FF = FF & " AND id =" & Me.str_id
End If
'---------
'str_m
'Text: can search any part of the text
If Len(Me.str_m & "") = 0 Then
Else
FF = FF & " And m Like " & Chr(34) & "*" & Me.str_m & "*" & Chr(34)
End If
'---------
'str_r
'Numeric:
If Len(Me.str_r & "") = 0 Then
Else
FF = FF & " AND r =" & Me.str_r
End If
'---------
'str_t
'Text: can search any part of the text
If Len(Me.str_t & "") = 0 Then
Else
FF = FF & " And t Like " & Chr(34) & "*" & Me.str_t & "*" & Chr(34)
End If
'---------
If Left(FF, 4) = " And" Then FF = Mid(FF, 6)
Me.sfrm_Search.Form.Filter = FF
Me.sfrm_Search.Form.FilterOn = True
End Subجعفر
jjafferr كتب:تفضل :)
1. انا غيرت اسماء حقول البحث ، من نص1 وووو ، الى اسمائها الحقيقة فاصبحت هكذا مثلا: str_r ،
2. غيرت اسم النموذج الفرعي الى sfrm_Search ،
3. عملت حدث بعد التحديث على جميع حقول البحث ، بحيث انها جميعا تنادي الوحدة Check_Selected ،
4. في الكود Check_Selected ، جعلت البحث حسب نوع المعلومة:
أ- الرقم : يجب ادخاله بالكامل ،
ب- التاريخ : والكود يأخذه بالصيغة حسب الجدول ،
ج- النص : ويمكن البحث في اي جزء منه ،
5. بعد مراجعة جميع الحقول ، يقوم الكود بوضع الفلتر في النموذج الفرعي (الذي به البيانات المراد تصفيتها) ،
وهذا هو كود النموذج كاملا:
Option Compare Database Private Sub Form_Close() Me.sfrm_Search.Form.Filter = "" Me.sfrm_Search.Form.FilterOn = False End Sub Private Sub Form_Load() Me.sfrm_Search.Form.Filter = "" Me.sfrm_Search.Form.FilterOn = False End Sub Private Sub str_d_AfterUpdate() Call Check_Selected End Sub Private Sub str_id_AfterUpdate() Call Check_Selected End Sub Private Sub str_m_AfterUpdate() Call Check_Selected End Sub Private Sub str_r_AfterUpdate() Call Check_Selected End Sub Private Sub str_t_AfterUpdate() Call Check_Selected End Sub Private Sub Check_Selected() Dim FF As String FF = "" 'str_d 'date: has to be as per the table format If Len(Me.str_d & "") = 0 Then Else FF = "d=#" & Format(Me.str_d, "mm-dd-yyyy") & "#" End If '--------- 'str_id 'Numeric: If Len(Me.str_id & "") = 0 Then Else FF = FF & " AND id =" & Me.str_id End If '--------- 'str_m 'Text: can search any part of the text If Len(Me.str_m & "") = 0 Then Else FF = FF & " And m Like " & Chr(34) & "*" & Me.str_m & "*" & Chr(34) End If '--------- 'str_r 'Numeric: If Len(Me.str_r & "") = 0 Then Else FF = FF & " AND r =" & Me.str_r End If '--------- 'str_t 'Text: can search any part of the text If Len(Me.str_t & "") = 0 Then Else FF = FF & " And t Like " & Chr(34) & "*" & Me.str_t & "*" & Chr(34) End If '--------- If Left(FF, 4) = " And" Then FF = Mid(FF, 6) Me.sfrm_Search.Form.Filter = FF Me.sfrm_Search.Form.FilterOn = True End Subجعفر
شكرا ماقصرت يعطيك العافية أخي jjafferr ,,, بس إذا أريد إضيف حقول بحث أكثر هل أقوم بنسخ ألكود وأضيفه ؟ والسؤال الآخر إذا كان عندي أسماء حقول النموذج الفرعي باللغة العربية كالمثال المرفق ..
jjafferr كتب:1. حياك الله :)
2. نعم :)
3. نعم :)
جعفر
حفظك الله أخي جعفر ،
ممكن تطبق لي على البرنامج المرفق
2- أريد عدد نتائج البحث تظهر لي في مربع
يعطيك العافية
تفضل :)
بالنسبة لعدد السجلات بعد عملية الفرز ، نضيف السطر التالي في نهاية الكود:
Me.نص13 = Me.sfrm_Search.Form.RecordsetClone.RecordCount
جعفر
هلا والله :)
شكراً