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

تعديل في كود البحث


عفرنس
إذهب إلى أفضل إجابة Solved by ابوآمنة,

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

السلام عليكم 

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

ما الذي يجب عمله من تغيير حتى نستطيع البحث بأي جزء من الاسم .. 

دمتم سالمين

Dim strSearch As String
Dim rs As Object
Set rs = Me.RecordsetClone
   
   If IsNull(Me![txtSearch]) Or (Me![txtSearch]) = "" Then
          MsgBox "رجاء ادخل اسم للبحث عنه", vbOKOnly, "خطأ في البحث"
          Me![txtSearch].SetFocus
   Exit Sub
   End If
   strSearch = Me![txtSearch]
  
   With rs
  .FindNext "[StName] = '" & strSearch & "'"
   
   If .StName <> strSearch Then
          MsgBox "لا يوجد سجل بهذا الإسم :  " & strSearch, , "غير موجود"
          Me.txtSearch = ""
          Me![txtSearch].SetFocus
   ElseIf .NoMatch Then
          MsgBox "آخر سجل في البحث عن :  " & strSearch, , "آخر سجل"
          Me.cmdSearch.Caption = "بحث"
          Me.txtSearch = ""
          Me![txtSearch].SetFocus
          Me.cmdSearch.ForeColor = RGB(0, 0, 255)
  DoCmd.GoToRecord , , acFirst
   Else
   Me.Bookmark = .Bookmark
          MsgBox "تم ايجاد اسم :  " & strSearch, , "مبروك"
          Me.cmdSearch.Caption = "اكمال البحث"
          Me.cmdSearch.ForeColor = RGB(255, 0, 0)
   End If
   End With

rs.Close
Set rs = Nothing

 

رابط هذا التعليق
شارك

25 دقائق مضت, بلال اليامين said:

شكرا لك على مشاركتك ..

لكني أخي بلال اريد التعديل على الكود الموجود فقط .. 

رابط هذا التعليق
شارك

@Barna @أحمد الفلاحجى 

هلّا أسعفتموني في هذه الكود 

اقتباس

السلام عليكم 

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

ما الذي يجب عمله من تغيير حتى نستطيع البحث بأي جزء من الاسم .. 

دمتم سالمين


Dim strSearch As String
Dim rs As Object
Set rs = Me.RecordsetClone
   
   If IsNull(Me![txtSearch]) Or (Me![txtSearch]) = "" Then
          MsgBox "رجاء ادخل اسم للبحث عنه", vbOKOnly, "خطأ في البحث"
          Me![txtSearch].SetFocus
   Exit Sub
   End If
   strSearch = Me![txtSearch]
  
   With rs
  .FindNext "[StName] = '" & strSearch & "'"
   
   If .StName <> strSearch Then
          MsgBox "لا يوجد سجل بهذا الإسم :  " & strSearch, , "غير موجود"
          Me.txtSearch = ""
          Me![txtSearch].SetFocus
   ElseIf .NoMatch Then
          MsgBox "آخر سجل في البحث عن :  " & strSearch, , "آخر سجل"
          Me.cmdSearch.Caption = "بحث"
          Me.txtSearch = ""
          Me![txtSearch].SetFocus
          Me.cmdSearch.ForeColor = RGB(0, 0, 255)
  DoCmd.GoToRecord , , acFirst
   Else
   Me.Bookmark = .Bookmark
          MsgBox "تم ايجاد اسم :  " & strSearch, , "مبروك"
          Me.cmdSearch.Caption = "اكمال البحث"
          Me.cmdSearch.ForeColor = RGB(255, 0, 0)
   End If
   End With

rs.Close
Set rs = Nothing

 

رابط هذا التعليق
شارك

في ١٢‏/٤‏/٢٠٢٠ at 19:17, أحمد الفلاحجى said:

وعليكم السلام اخى @فايز..

ممكن تزودنى بالمثال تبع الكود ؟

تفضل 

 

 

CS_SeetNumberLabels (2).xlsx

تم تعديل بواسطه jjafferr
  • Like 1
رابط هذا التعليق
شارك

اخى @فايز.. بالنسبه للملف تبعك مينفعش فيه الا البحث بالاسم كامل لان ده نموذج مفرد مش مستمر

يمكنك تحويل حقل البحث لكمبوبوكس واختيار الاسم منه

بالتوفيق ان شاء الله

  • Like 1
رابط هذا التعليق
شارك

49 دقائق مضت, أحمد الفلاحجى said:

اخى @فايز.. بالنسبه للملف تبعك مينفعش فيه الا البحث بالاسم كامل لان ده نموذج مفرد مش مستمر

يمكنك تحويل حقل البحث لكمبوبوكس واختيار الاسم منه

بالتوفيق ان شاء الله

تمام 

ها اجرب ووافيك بالنتيجة ان شاء الله 

  • Like 1
رابط هذا التعليق
شارك

اتفضل اخى @فايز..

محاوله منى على قد حالى وجزاها الله كل خير ام عهود وجميع اخواننا واساتذتنا

وارجو ارفاق ملف ام عهود الذى به الكود للاستفاده بارك الله فيك

بالتوفيق ان شاء الله

Posters2.accdb

  • Like 1
رابط هذا التعليق
شارك

مساهمة مع أخواتي الخبراء 

تفضل لعله يكون المطلوب

تم  إضافة زر البحث بجزء من الكلمة 

يمكنك أيضا التنقل بين خانت البحث المطابق برز التنقل 

If IsNull(Me.txtSearch) Then Me.FilterOn = False: Exit Sub
Me.Filter = "[StName] like '*" & txtSearch & "*'"
Me.FilterOn = True

 

 

Posters4.zip

تم تعديل بواسطه ابوآمنة
إزالة الأسماء
  • Like 2
رابط هذا التعليق
شارك

3 ساعات مضت, أحمد الفلاحجى said:

اتفضل اخى @فايز..

محاوله منى على قد حالى وجزاها الله كل خير ام عهود وجميع اخواننا واساتذتنا

وارجو ارفاق ملف ام عهود الذى به الكود للاستفاده بارك الله فيك

بالتوفيق ان شاء الله

Posters2.accdb 728 kB · 9 تنزيلات

مشاركة رائعة من مشارك أروع .. 

جزاك الله خيرا .. 

وهذا ملف الأخت زهرة .. 

مرفق

za-EmployyeUP.rar

  • Thanks 1
رابط هذا التعليق
شارك

منذ ساعه, ابوآمنة said:

مساهمة مع أخواتي الخبراء 

تفضل لعله يكون المطلوب

تم  إضافة زر البحث بجزء من الكلمة 

يمكنك أيضا التنقل بين خانت البحث المطابق برز التنقل 


If IsNull(Me.txtSearch) Then Me.FilterOn = False: Exit Sub
Me.Filter = "[StName] like '*" & txtSearch & "*'"
Me.FilterOn = True

 

Posters2.zip 51.76 kB · 3 تنزيلات

شكر الله لك .. هذا ممتاز وهو المطلوب . 

لكن كيف لي إضافة 

MsgBox "رجاء ادخل اسم للبحث عنه", vbOKOnly, "خطأ في البحث"
MsgBox "لا يوجد سجل بهذا الإسم :  " & strSearch, , "غير موجود"
MsgBox "تم ايجاد اسم :  " & strSearch, , "مبروك"
          Me.cmdSearch.Caption = "اكمال البحث"

 

3 دقائق مضت, ابوآمنة said:

إضافة تم تضليل عنصر البحث 

Posters3.rar 44.05 kB · 0 تنزيلات

رائع .. 

 

رابط هذا التعليق
شارك

3 دقائق مضت, ابوآمنة said:

شاهدت الملف الأخير

 

 

نعم شاهدته 

بقي أضيف عليه بعض الرسائل ( لا يوجد طالب بهذا الإسم ) ( تم إيجاد اسم الطالب ) 

رابط هذا التعليق
شارك

في ١١‏/٤‏/٢٠٢٠ at 21:48, فايز.. said:

السلام عليكم 

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

ما الذي يجب عمله من تغيير حتى نستطيع البحث بأي جزء من الاسم .. 

دمتم سالمين


Dim strSearch As String
Dim rs As Object
Set rs = Me.RecordsetClone
   
   If IsNull(Me![txtSearch]) Or (Me![txtSearch]) = "" Then
          MsgBox "رجاء ادخل اسم للبحث عنه", vbOKOnly, "خطأ في البحث"
          Me![txtSearch].SetFocus
   Exit Sub
   End If
   strSearch = Me![txtSearch]
  
   With rs
  .FindNext "[StName] = '" & strSearch & "'"
   
   If .StName <> strSearch Then
          MsgBox "لا يوجد سجل بهذا الإسم :  " & strSearch, , "غير موجود"
          Me.txtSearch = ""
          Me![txtSearch].SetFocus
   ElseIf .NoMatch Then
          MsgBox "آخر سجل في البحث عن :  " & strSearch, , "آخر سجل"
          Me.cmdSearch.Caption = "بحث"
          Me.txtSearch = ""
          Me![txtSearch].SetFocus
          Me.cmdSearch.ForeColor = RGB(0, 0, 255)
  DoCmd.GoToRecord , , acFirst
   Else
   Me.Bookmark = .Bookmark
          MsgBox "تم ايجاد اسم :  " & strSearch, , "مبروك"
          Me.cmdSearch.Caption = "اكمال البحث"
          Me.cmdSearch.ForeColor = RGB(255, 0, 0)
   End If
   End With

rs.Close
Set rs = Nothing

 

اخوي @فايز..

عندي استفسار وعلى بال ما اجيب كمبيوتر عربي 

الرسائل :

1. اجبار المستخدم ادخال نص ... مفهومة 

2. لايوجد سجل .. مفهومة

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

4. تم ايجاد السجل .. مفهومه

تحياتي

  • Like 3
رابط هذا التعليق
شارك

2 دقائق مضت, رمهان said:

اخوي @فايز..

عندي استفسار وعلى بال ما اجيب كمبيوتر عربي 

الرسائل :

1. اجبار المستخدم ادخال نص ... مفهومة 

2. لايوجد سجل .. مفهومة

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

4. تم ايجاد السجل .. مفهومه

تحياتي

أخي الفاضل :

الكود مأخوذ من برنامج لشخص آخر واللي عمل هذا الكود الأخت زهرة .

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

فبإمكاني أستغني عنه . 

رابط هذا التعليق
شارك

30 دقائق مضت, ابوآمنة said:

إضافة تم تضليل عنصر البحث 

Posters3.rar 44.05 kB · 2 تنزيلات

جزاك الله خيرا اخى صالح @ابوآمنة :fff: ولا اروع من كده تسلم ايدك

بارك الله فيك اخى @فايز..

منور اخى واستاذنا العزيز @رمهان

تقبلوا تحياتى وتمنياتى لكم وللجميع بالتوفيق

  • Like 1
رابط هذا التعليق
شارك

1 ساعه مضت, فايز.. said:

نعم شاهدته 

بقي أضيف عليه بعض الرسائل ( لا يوجد طالب بهذا الإسم ) ( تم إيجاد اسم الطالب ) 

اخي @فايز..

بما انك مش فاهم الكود تبع الاستاذ زهرة وناسبك كود الاستاذ ابو امنه

هذا تعديل على كود الاستاذ @ابوآمنة وبعد اذنه

Private Sub cmdSearch_Click()
If IsNull(Me.txtSearch) Then Me.FilterOn = False: Exit Sub
Me.Filter = "[StName] like '*" & txtSearch & "*'"
Me.FilterOn = True
If Me.StName Like "*" & txtSearch & "*" Then MsgBox "موجود" Else MsgBox "غير موجود"
End Sub

ولاحظ ان الكود يفلتر السجلات اي السجلات التي ستكون بالنموذج فقط نتائج البحث دون السجلات الاخرى وهنا 

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

- عيوب : ستفقد السجلات الاخرى .. فلو اردت البحث عن اسم اخر لن تجده لان السجلات اصبحت فقط للبحث السابق القحطاني . وهنا لابد من الغاء الفلتره لعودة جميع السجلات والبحث مره اخرى .. لالغاء الفلتره فقط استخدم me.filteron=false ولكن اين تضعه شوف اللي يناسبك وممكن يكون بزر جديد 

 

بالتوفيق 

  • Like 2
رابط هذا التعليق
شارك

9 دقائق مضت, رمهان said:

اخي @فايز..

بما انك مش فاهم الكود تبع الاستاذ زهرة وناسبك كود الاستاذ ابو امنه

هذا تعديل على كود الاستاذ @ابوآمنة وبعد اذنه


Private Sub cmdSearch_Click()
If IsNull(Me.txtSearch) Then Me.FilterOn = False: Exit Sub
Me.Filter = "[StName] like '*" & txtSearch & "*'"
Me.FilterOn = True
If Me.StName Like "*" & txtSearch & "*" Then MsgBox "موجود" Else MsgBox "غير موجود"
End Sub

ولاحظ ان الكود يفلتر السجلات اي السجلات التي ستكون بالنموذج فقط نتائج البحث دون السجلات الاخرى وهنا 

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

- عيوب : ستفقد السجلات الاخرى .. فلو اردت البحث عن اسم اخر لن تجده لان السجلات اصبحت فقط للبحث السابق القحطاني . وهنا لابد من الغاء الفلتره لعودة جميع السجلات والبحث مره اخرى .. لالغاء الفلتره فقط استخدم me.filteron=false ولكن اين تضعه شوف اللي يناسبك وممكن يكون بزر جديد 

 

بالتوفيق 

مشاركة رائعة ومقبولة 

سأوافيك بالنتائج بإذن الله 

رابط هذا التعليق
شارك

7 دقائق مضت, رمهان said:

اخي @فايز..

بما انك مش فاهم الكود تبع الاستاذ زهرة وناسبك كود الاستاذ ابو امنه

هذا تعديل على كود الاستاذ @ابوآمنة وبعد اذنه


Private Sub cmdSearch_Click()
If IsNull(Me.txtSearch) Then Me.FilterOn = False: Exit Sub
Me.Filter = "[StName] like '*" & txtSearch & "*'"
Me.FilterOn = True
If Me.StName Like "*" & txtSearch & "*" Then MsgBox "موجود" Else MsgBox "غير موجود"
End Sub

ولاحظ ان الكود يفلتر السجلات اي السجلات التي ستكون بالنموذج فقط نتائج البحث دون السجلات الاخرى وهنا 

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

- عيوب : ستفقد السجلات الاخرى .. فلو اردت البحث عن اسم اخر لن تجده لان السجلات اصبحت فقط للبحث السابق القحطاني . وهنا لابد من الغاء الفلتره لعودة جميع السجلات والبحث مره اخرى .. لالغاء الفلتره فقط استخدم me.filteron=false ولكن اين تضعه شوف اللي يناسبك وممكن يكون بزر جديد 

 

بالتوفيق 

يشرفني تعديلك ويسعدني مرورك وإضافة رائعة تشكر عليها استاذي رمهان

ويبقى الخيار للاخ فايز أيهما يناسبه .

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

@فايز..

@ابوآمنة

هذا تعديل على كود الاستاذه زهره ولماطلبت بنفس الرسائل 

Dim strSearch As String
Dim rs As Object
Set rs = Me.RecordsetClone
   
   If IsNull(Me![txtSearch]) Or (Me![txtSearch]) = "" Then
          MsgBox "رجاء ادخل اسم للبحث عنه", vbOKOnly, "خطأ في البحث"
          Me![txtSearch].SetFocus
   Exit Sub
   End If
   strSearch = Me![txtSearch]
  
   With rs
  .FindNext "[EmpName] like '*" & strSearch & "*'"
   
   If Not .EmpName Like "*" & strSearch & "*" Then
          MsgBox "لا يوجد سجل بهذا الإسم :  " & strSearch, , "غير موجود"
          Me.txtSearch = ""
          Me![txtSearch].SetFocus
   ElseIf .NoMatch Then
          MsgBox "آخر سجل في البحث عن :  " & strSearch, , "آخر سجل"
          Me.cmdSearch.Caption = "بحث"
          Me.txtSearch = ""
          Me![txtSearch].SetFocus
          Me.cmdSearch.ForeColor = RGB(0, 0, 255)
  DoCmd.GoToRecord , , acFirst
   Else
   Me.Bookmark = .Bookmark
          MsgBox "تم ايجاد اسم :  " & strSearch, , "مبروك"
          Me.cmdSearch.Caption = "اكمال البحث"
          Me.cmdSearch.ForeColor = RGB(255, 0, 0)
   End If
   End With

rs.Close
Set rs = Nothing

بالتوفيق

تم تعديل بواسطه رمهان
  • Like 4
  • Thanks 1
رابط هذا التعليق
شارك

14 ساعات مضت, ابوآمنة said:

تفضل أخي فايز

بعد التعديل

لعله يكون استكمالاً لما تريده

Posters4.zip 42.18 kB · 3 تنزيلات

جزاك الله خيرا  أخي صالح البريكان @ابوآمنة 

هذا المطلوب ... 

رابط هذا التعليق
شارك

14 ساعات مضت, ابوآمنة said:

تفضل أخي فايز

بعد التعديل

لعله يكون استكمالاً لما تريده

Posters4.zip 42.18 kB · 3 تنزيلات

أخي @ابوآمنة بعدما أبحث عن اسم معين ويجده لي ، وبعد الانتهاء من البحث لا يعطيني الرسالة الموجودة في هذا الكود .

Private Sub C_Next()
On Error GoTo Err_C_Next
    DoCmd.GoToRecord , , acNext
     Find
Exit_C_Next:
    Exit Sub

Err_C_Next:
    MsgBox "آخر سجل بحث"
    Resume Exit_C_Next
End Sub

يعطيني بدلا عنها الرسالة الموجودة في كود زر البحث 

MsgBox "لا يوجد سجل بهذا الإسم :  " & strSearch, , "غير موجود"

 

رابط هذا التعليق
شارك

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