اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

الردود الموصى بها

قام بنشر (معدل)

للرفع

عندما أريد بحث مطابق تماما لما أريد البحث عنه فما هو شكل المعيار المطلوب لفعل ذلك في الاستعلام أى ماذا اكتب بعد Like وشكرا

تم تعديل بواسطه وائل أبو عبد الرحمن
قام بنشر

وعليكم السلام:smile:

 

البحث عن جزء من الكلمة
LIKE "*" & Forms![frm_Main]![mySearch] & "*"



بينما البحث عن الكلمة الكامله (مثل الكلمه الموجودة في مربع السرد
Forms![frm_Main]![mySearch]

 

جعفر

  • Like 1
قام بنشر (معدل)

مرحبا بعودتك أ جعفر وكل عام وحضرتك بخير

لدى كود لأختيار أحد خيارات البحث الثلاث قبل إجراء البحث على النحو التالى

Select Case srchOption
        Case 1
            CrtTxt = ("txtSearch & ""*""")
        Case 2
            CrtTxt = ("""*"" & txtSearch & ""*""")
        Case 3
            CrtTxt = ( & txtSearch & )

الأختيار الأول للبحث ب يبدأ بـ

والأختيار الثانى للبحث بتضمن أو جزء من كلمة

والأختيار الثالث وهو محل السؤال كان للبحث المطابق كنت اظن انه سيكون مثل سابقيه مع بعض التغيرات في الأماكن ووضع النجمة وعلامات التنصيص وعلى هذا أود مشكورا الإفادة بما بناسب هذا الكود وشكرا لحضرتك أهتمامك بالرد والإفادة.

 

 

تم تعديل بواسطه وائل أبو عبد الرحمن
قام بنشر

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

ولكنه ، يبدو صحيحا ، لأنه لا يحتوي على * (الشيء الذي يجب التاكد منه هو علامات & ومدى حاجتها)

 

جعفر

  • Like 2
قام بنشر (معدل)

إليك أستاذنا الكود كاملا وأسعد بملاحظاتك وتعديلاتك للأفضل إن وجدت مع ملاحظة أن خيارات البحث في الأصل كانت أثنين فقط (يبدأ بـ ويتضمن) وأردت إضافة البند الثالث (مطابق) فكتبته البند الثالث بهذه الطريقة إنتظارا لإجابة أحد الأخوة ليقوم بالمراد.

Private Sub Cmd_Search_Click()
Dim sql_search As String
Dim fild_sear As String
Dim CrtTxt As String

Select Case srchOption
        Case 1
            CrtTxt = ("txtSearch & ""*""")
        Case 2
            CrtTxt = ("""*"" & txtSearch & ""*""")
        Case 3
            CrtTxt = ( & txtSearch & )
End Select
Select Case Me.cboField
  Case "الكل"
      fild_sear = "tout"
  Case "السؤال"
      fild_sear = "Question1"
  Case "الإجابة"
      fild_sear = "Answer1"
  Case Else
      fild_sear = "tout"
End Select
  sql_search = "SELECT * FROM q_SearchQuestion where " & "(((Question1)LIKE " & CrtTxt & "))" & "Or (((Answer1)LIKE " & CrtTxt & "))" & "Or (((MainCategory)LIKE " & CrtTxt & "))" & "Or (((SubCategory)LIKE " & CrtTxt & "))" & "Or (((Source)LIKE " & CrtTxt & "));"
  Me.RecordSource = sql_search

ElseIf IsNull(Me.txtSearch) Then
'MsgBox "يجب اختيار حقل للبحث"
'Else
sql_search = "SELECT * FROM q_SearchQuestion"
Me.RecordSource = sql_search
'ارجو عمل رسالة تنبيه إذا حاول المستخدم البحث مباشرة قبل أختيار حقل البحث

        'Me.cboField.SetFocus
    
 Else
  sql_search = "SELECT * FROM q_SearchQuestion WHERE " & fild_sear & " LIKE " & CrtTxt & " "
  Me.RecordSource = sql_search
   
End If
End Sub

 

تم تعديل بواسطه وائل أبو عبد الرحمن
قام بنشر
3 دقائق مضت, وائل أبو عبد الرحمن said:

إليك أستاذنا الكود كاملا مع ملاحظة أن خيارات البحث كانت أثنين فقط وأردت إضافة البند الثالث فكتبته بهذه الطريقة إنتظار لإجابة أحد الأخوة ليقوم بالمراد


Private Sub Cmd_Search_Click()
Dim sql_search As String
Dim fild_sear As String
Dim CrtTxt As String

Select Case srchOption
        Case 1
            CrtTxt = ("txtSearch & ""*""")
        Case 2
            CrtTxt = ("""*"" & txtSearch & ""*""")
        Case 3
            CrtTxt = ( & txtSearch & )
End Select
Select Case Me.cboField
  Case "الكل"
      fild_sear = "tout"
  Case "السؤال"
      fild_sear = "Question1"
  Case "الإجابة"
      fild_sear = "Answer1"
  Case Else
      fild_sear = "tout"
End Select

If fild_sear = "tout" Then
  sql_search = "SELECT * FROM q_SearchQuestion where " & "(((Question1)LIKE " & CrtTxt & "))" & "Or (((Answer1)LIKE " & CrtTxt & "))" & "Or (((MainCategory)LIKE " & CrtTxt & "))" & "Or (((SubCategory)LIKE " & CrtTxt & "))" & "Or (((Source)LIKE " & CrtTxt & "));"
  Me.RecordSource = sql_search

ElseIf IsNull(Me.txtSearch) Then
'MsgBox "يجب اختيار حقل للبحث"
'Else
sql_search = "SELECT * FROM q_SearchQuestion"
Me.RecordSource = sql_search
'ارجو عمل رسالة تنبيه إذا حاول المستخدم البحث مباشرة قبل أختيار حقل البحث

        'Me.cboField.SetFocus
    
 Else
  sql_search = "SELECT * FROM q_SearchQuestion WHERE " & fild_sear & " LIKE " & CrtTxt & " "
  Me.RecordSource = sql_search
   
End If
End Sub

 

السلام عليكم ورحمة الله تعالى اساتذتى الكرام وخوانى الاحباب 

اخى وحبيبى الاستاذ @وائل أبو عبد الرحمن يا حبذا لو تضع مرفقا رفقا بى انا اتوه فى الحجات الكبيره دى :wink2: يمكن اطلع من وراك بمعلومه وتكثب فى اخوك المسكين ثواب

قام بنشر

رجاء تعمل التالي:

1. اضف السطر الثالث الكود

If fild_sear = "tout" Then
  sql_search = "SELECT * FROM ....
debug.print sql_search

 

2. اتبع الخطوات التالية ، 1 و 2 ، وستلاحظ ان النافذه رقم 3 تم فتحها 

00.z_0045.jpg.a0b8c57fd441c4634d1a5157aae75666.jpg

.

3. ارجع الى النموذج واختار tout

4. ارجع الى صفحة الكود ، ستلاحظ انه في النافذة رقم 4 (انظر الصورة اعلاه) ، سترى ان هناك كود تم كتابته ، اعمل له نسخ والصقه لنا هنا.

 

اعمل الخطوات 3 و 4 ، مرة لجزء من الكلمه ، ومره للكلمه الكامله.

 

جعفر

 

  • Like 1
قام بنشر (معدل)

أستاذنا الفاضل شكرا لأستجابة حضرتك 

22 دقائق مضت, jjafferr said:

رجاء تعمل التالي:

أتبعت ما تفضلت به بكل دقة ولكن تظهر المتطقة المشار إليها برقم 4 فارغة بلا أى كلام مع كل اختيار

تم تعديل بواسطه وائل أبو عبد الرحمن
قام بنشر

للرفع

الأخ والأستاذ الفاضل jjafferr

هل أنتظر بإذن الله جديدا قادم من حضرتك وشكرا لك على ما تبذله من وقت وجهد جعله الله في ميزان حسناتك

قام بنشر

السلام عليكم:smile:

 

شكرا انك اعطيتني الرابط لأصل المعادلة:smile:

 

المعادلة التي ذكرتها انت غير صحيحة (لاحظ انه لا توجد مسافة قبل كلمة LIKE) ، والتي استغربت منها ، 

00.z_0047.jpg.4a7413e77e8ede1b336e3b402ed68dcf.jpg

واصل المعادله من https://www.officena.net/ib/topic/79144-عمل-كمبوبوكس-لأختيار-حقل-البحث/?do=findComment&comment=508091

00.z_0048.jpg.dbefb85e63c3589475883f3f5809117a.jpg

.

لهذا السبب اردت ان احصل على كود SQL الاستعلام ، بالخطوات التي طلبتها منك.

 

 

والآن اواصل الحديث عن طلبك في "معيار مطابقة كلمة البحث" ،

فأرى ، وتسهيلا للأمور ، بحيث لا تغير اي شيء في المعادلات ، بأن تستعمل الاختيار الثاني لهذا الاختيار كذلك:

00.z_0049.jpg.b945c9d3d914f6171af64f609ac51a37.jpg

.

 

جعفر

  • Like 2
قام بنشر (معدل)
منذ ساعه, jjafferr said:

شكرا

بل الشكر لله ثم لك بارك الله فيك وأعذرنى فمازال مستواى متواضعا

أ جعفر بارك الله فيك
اسمح لى في مزيد كرمك أود من حضرتك مشكورا بإجابة رجائين

1- كيف اتخلص من الرسالة التى تظهر بعد ضغط زر البحث كما تظهر بالصورة.

059.png.b971a3808a3f671300e101278ec07200.png

2- أن تفيدنى بإفادة شافية كافية في موضوعى المهم وهو تقريبا من أخر ما تبقى لى على هذا الرابط فلن اجد أفضل منك فى هذا المضمار كما ارجو ألا تطيل على الانتظار بارك الله فيك ونفعنا بعلمك وعملك وشكرا جزبلا لكم

 

تم تعديل بواسطه وائل أبو عبد الرحمن
  • Like 1
قام بنشر (معدل)

الأخ والأستاذ الفاضل jjafferr 

الأخوة الكرام 

أسعد الله مساءكم بكل خير وبارك الله فيكم وأشكر لكم مساعدتكم لى جعلها الله في ميزان حسناتكم
أود الإشارة إلى نقطة مفصلية فى المطلوب لم اوضحها من قبل وهى:-
أن ما دفعنى لإنشاء هذا الخيار للبحث (المطابق او البند الثالث في خيارات البحث) هو أن يأتى بنتائج البحث بالكلمة المكتوبة في مربع نص البحث (( تماما )) لا أن يأتى بالكلمة وبها زوائد مثلما يحدث في نتيجة ( البند الثانى يتضمن أو بجزء من الكلمة) ولناخذ مثال ليتضح المقال
عندما أود البحث مثلا في المطابق عن كلمة " توحيد " أى بدون " ال " التعريفية أريد أن تكون نتيجة البحث لجملة أو فقرة تحتوى على كلمة " توحيد " وليس على كلمة " التوحيد " وهذا هو الفرق والمراد من تفعيل هذا الأختيار لكى يكون أكثر دقة وتحسسا لفتلرة النصوص وتصفيتها حسب المطلوب فقط تخيلوا معى عندما تكثر البيانات بشكل كبير بدون هذا الخيار ستكون نتائج البحث كثيرة بلا داع وسوف ترهق الباحث في العثور على ما يريده بالضبط وسيصبح الأمر مع الوقت مرهقا بلا فائدة كبيرة فلا فرق بين هذه النتيجة وبين أختيار البند الثانى يتضمن لأنه سيأتى ايضا بنفس النتيجة.

أتمنى أن الأمور تكون أصبحت اكثر وضوحا حرصا على عدم إتعابكم دون تحقيق الفائدة المرجوه.


*** ملحوظة لقد أفادنى أخ كريم بهذا الكود ولكنه لم يقوم بالمقصود.

Case 3
 CrtTxt = "'*" & txtSearch & "*'"

فارجو ان اجد لديكم حلا لتحقيق المراد وجزاكم الله خيرا

جعل الله لكم بكل حرف يستفاد من نموذج البحث هذا بعد إكتماله الاجر والمثوبة
تم تعديل بواسطه وائل أبو عبد الرحمن
قام بنشر (معدل)

نعم أبا عبد الرحمن سأجيبك..

لكي لا نذهب بعيدا عما أنت بصدده من القيم المتطابقة؛ هذا النوع من البحث خاص بالكلمات المستقلة: ولها أربعة احتمالات كما يلي..

.. أن يكون الفراغ عن يمينها وعن شمالها 

.. أن يكون الفراغ في أحد الجهتين

.. أن لا يكون هناك فراغ الجانبين (كلمة لوحدها في حقل البيانات)

هذه الاحتمالات الأربع يمكن السيطرة عليها باستخدام الدالة التي ذكرت.

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

تم تعديل بواسطه أبو إبراهيم الغامدي
قام بنشر

أعتذر منك حقا أستاذى أبا إبراهيم 

فأنا مازلت على أول الطريق لذا صدقا لم أعى الكثير مما تفضلت به فإذا كان بالإمكان مزيدا من الشرح والتوضيح بمثال أو مرفق سأكون شاكر لحضرتك

قام بنشر

بالمرفق عمل وجدته على هذا الرابط ولكنه بالفيجوال بيزك دوت نت لذا لن يكون لى دخل به مطلقا فإن كان بوسع أحد الأخوة معرفة كيف يتم البحث المطابق به فذلك سيكون رائعا حقا.

http://yazsys.com/FDetails.aspx?id=252

db_Access.rar

قام بنشر (معدل)

لا بأس.. يسهل الله الأمر..

المرفق الذي أحلت إليه لا يدعم البحث المطابق..

 

هذا مثال لما سبق بيانه في مشاركتي السابقة

تنبيه.. يظهر في المثال بيانات تحتوي علامة الاستفهام.. ذلك لأني لم استثنها ونظيراتها في معامل البحث.. تركتها قصدا

إليك المثال

بحث مطابق.zip

تم تعديل بواسطه أبو إبراهيم الغامدي
  • Like 1
قام بنشر (معدل)
2 ساعات مضت, أبو إبراهيم الغامدي said:

يسهل الله الأمر..

آمين

أستاذى أبو إبراهيم الغامدي

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

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

تبقى الخطوة الأهم وهى كيفيه تطبيق هذه النتيجة على النموذج العمل الرئيسى search بمصدر بيانات الخطوة المهمة التى تم إنجازها في الاستعلام2.

أكرر شكرى لكم وجزاكم الله على ما تجودون به جعله الله في ميزان حسناتكم

تم تعديل بواسطه وائل أبو عبد الرحمن
قام بنشر (معدل)

كدنا نصل..

الطريق إلى عمل ما ترمي إليه يتطلب عدة أمور وأحتاج منك مد يد العون.. إن شاء الله تفعل..

.. عمل استعلام توحيد للموضوعات الفرعية مع الموضوع الرئيس.. الهدف من هذا هو جعل نتائج البحث عامودية بدلا منها أفقية.. لكون البيانات الأفقية يسحب بعضها البعض أثناء تصفية البيانات، ويصبح الوضع أكثر صعوبة كلما زاد عدد الأعمدة.. نعم يمكن استخدام المعامل (Or) لتجاوز هذه العقبة إذا كانت الأعمدة محدود، لكن تبقى إشاكالية البحث في كل الأعمدة.. لكونها تطيل شفرة المعالجة.

.. بعد الرجوع بنتائج البحث عاموديا يمكن عندئذٍ نشرها أفقا ياستخدام استعلام جدولي.. وهذا له ميزتان؛ بقاء نتائج البحث عامودية مع وضع النتائج في مواضيعا الفرعية أفقيا.. فيظهر الاستعلام كما لو أنه لم يتغير!

هذه خطة العمل.. وبالله التوفيق.. ومنه السداد..

تم تعديل بواسطه أبو إبراهيم الغامدي
قام بنشر (معدل)
11 ساعات مضت, أبو إبراهيم الغامدي said:

كدنا نصل..

بعون الله وفضله

أستاذ أبو إبراهيم الغامدي بارك الله فيك

بداية أود أن ألفت نظر حضرتك لنقطة ربما تكون هامة حتى يتم أخذها بالحسبان من البداية حيث أن المتوقع لحجم البيانات المدخلة أن يكون كبيرا بإذن الله يصل لالاف السجلات وهذا ربما يحتاج لأسلوب ما لجعل استعلام البحث يعمل على تسريع إجراء عملية البحث فضلا عن وجود فراغات في كثير من السجلات والتى لا أود أن تستثنى من عملية البحث أثناء إجرائها بمعنى إذا كان هناك سجل به بعض البيانات دون البعض فلا يغفل كلمات بيانات هذه السجلات من نتائج البحث.

بالمرفق أتمنى أن يكون هو المطلوب علما بأن لأول مرة انفذ هذا النوع من الاستعلام بعد البحث عن كيفية عمله لذا إن كان به قصور فارجو ان تلتمس لى العذر.

وفقنا الله إلى ما يحب ويرضى وشكر لحسن اهتمامك ومتابعتك الجادة والمثمرة جعلها الله في ميزان حسناتك.

25-9 بحث مطابق.rar

تم تعديل بواسطه وائل أبو عبد الرحمن
قام بنشر

عودا إلى ما سبق بيانه في خطة معالجة البيانات في نموذج البحث الموسع..

إليك المثال المعدل: بحث مطابق.zip

4 ساعات مضت, وائل أبو عبد الرحمن said:

بداية أود أن ألفت نظر حضرتك لنقطة ربما تكون هامة حتى يتم أخذها بالحسبان من البداية حيث أن المتوقع لحجم البيانات المدخلة أن يكون كبيرا بإذن الله يصل لالاف السجلات وهذا ربما يحتاج لأسلوب ما لجعل استعلام البحث يعمل على تسريع إجراء عملية البحث فضلا عن وجود فراغات في كثير من السجلات والتى لا أود أن تستثنى من عملية البحث أثناء إجرائها بمعنى إذا كان هناك سجل به بعض البيانات دون البعض فلا يغفل كلمات بيانات هذه السجلات من نتائج البحث.

للأسف.. هذا ليس من اختصاصي..

  • Like 1
قام بنشر (معدل)
58 دقائق مضت, أبو إبراهيم الغامدي said:

عودا إلى ما سبق بيانه في خطة معالجة البيانات في نموذج البحث الموسع..

أستاذ أبو إبراهيم الغامدي بارك الله فيك وشكر الله لك

"رغم أنى لم أستوعب جيدا كالعادة طريقة ما تم إنجازه حتى الآن" إلا أنى أشعر أنه أسلوب جديد أو طريقة مبتكرة خاصة وأنه يحقق البحث المطابق بالشكل المطلوب

تتبقى الآن الخطوة الأهم وهى كيفيه تطبيق هذه النتيجة الجديدة والمميزة على نموذج العمل الرئيسى search لجدول الفوائد Foaid

 

تم تعديل بواسطه وائل أبو عبد الرحمن
قام بنشر
6 ساعات مضت, وائل أبو عبد الرحمن said:

"رغم أنى لم أستوعب جيدا كالعادة طريقة ما تم إنجازه حتى الآن" إلا أنى أشعر أنه أسلوب جديد أو طريقة مبتكرة خاصة وأنه يحقق البحث المطابق بالشكل المطلوب

لا أسلوب جديد.. ولا طريق مبتكرة! إنما هي أدوات أكسس استخدمها بالرجوع إلى ملف التعليمات، أو موقع خبراء ميكروسوفت.. 

7 ساعات مضت, وائل أبو عبد الرحمن said:

تتبقى الآن الخطوة الأهم وهى كيفيه تطبيق هذه النتيجة الجديدة والمميزة على نموذج العمل الرئيسى search لجدول الفوائد Foaid

النموذج  الذي تم  تطبيق المثال عليه هو نموذج مصغر من النموذج خاصتك.. قمت بترتيبة وطلاءه من أجل تطبيق الفكرة.. والنموذج الكامل هنا.. بحث مطابق.zip

 

  • Thanks 1

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information