اذهب الي المحتوي
أوفيسنا

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

قام بنشر

السلام عليكم 

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

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

دمتم سالمين

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

 

قام بنشر

@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

 

قام بنشر

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

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

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

  • 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 تنزيلات

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

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