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

أا إ آ ه ة ي ى والبحث في آكسيس

مغلق
بدأه leitmotive في 9 أكتوبر 2005 · 12 رد · 1,537 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

كل عام وأنتم بخير :)

أعتقد أني قرأت سؤال شبيها بسؤالي لكنه اختفى ن المنتدى

المهم سؤالي هو:

أحيانا يخطئ البعض فيكتبون احمد بدلا من أحمد

وشهاده بدلا من شهادة

و على بدلا من علي

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

يعني ال أ و ال ا و ال إ و ال آ = شئ واحد

فلو بحثت عن إحمد سأجد كل من:

أحمد احمد إحمد آحمد

وشكرا :)

علمني ولك أجري وأجر من سأعلمه وما سأعمله إن شاء الله

:)

#2

ما من وسيلة ......... معذرة كل عام وانت بخير اولا

ما من وسيلة الا ان تتجنب انت حين البحث تلكم الاحرف صاحبة المشاكل

فبدلا من كتابة الكلمة بالكامل (شهادة) اكتب المقطع الذي لا يمكن الاختلاف عليه (شهاد)

وضعه بين نجمتين *

فاذا كنت بصدد كتابة معيار داخل الاستعلام فاكتب

Like "*شهاد*"

طبتم واهتديتم :)

===================================

إقرأ معي

رابط متجدد لكتاب أقرؤه فشاركني فيه

======

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

الكتاب :

حسين الموسوي - لله تم للتاريخ ، كشف الأسرار وتبرئة الأئمة الأطهار

اضغط على الصورة لتحميل الكتاب

%E1%E1%E5%20%CB%E3%20%E1%E1%CA%C7%D1%ED%CE.jpg

-----------

كتب سابقة

سعد الدين الشاذلي - مذكرات حرب أكنتوبر

#3

بعد إذن أستاذي : ( ايهاب عثمان ) وفقه الله لكل خير .

أخي (leitmotive) تحية طيبة ..

كنت قد سألت نفس سؤالك في أحد المواضيع وقد تفضل بالإجابة عليه مشكوراً الاستاذ القدير ( أبو هادي ) جزاه الله عني خير الجزاء .

وتجد المثال في المرفقات .. أرجو أن يفيدك .

تحياتي ..

تجاهل الهمزة.rar

#4

اعزائي الكرام

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

وكل عام وانتم بخير

احببنا نشارك معكم في هذا الموضوع الهام من باب اثراء المنتدى ببعض الافكار الجميله وطبعا استاذ الكل / فهد الدوسري لا يعلى عليه فمنه نرى روح التجديد في هذا المنتدى المبارك وكذلك استاذنا / ايهاب عثمان فارس المنتدى لذا وجدت كود للدكتور / ابو هاجر وقمت بتعديله ليتماشى مع متطلبات البرنامج .

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

هذا يعمل على اكسيس 2000

بحث محترفين.rar

وهذا يعمل على اكسيس 2003

بحث محترفين 2003.rar

اختكم

زهره

#5

أجزل الله لك المثوبة يا أستاذتنا في هذه الأيام المباركة

هل أثقل عليك لو طلبت منك أن تشرحي لي الأمر بالخطوات

يعني كل كود وأين أضعه لأني لم أتمكن من استخراج كل شئ وتطبيقه على قاعدتي

وجزاك الله كل خير :)

علمني ولك أجري وأجر من سأعلمه وما سأعمله إن شاء الله

:)

#6

السلام عليكم

أستاذتي،

حاولت تقليد محرك البحث لكني فشلت (مرفق مثال :D )

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

كل الشكر :)

هنا الشرح:

(1)

اصنع زرا قابل للاختيار وضع في AfterUpdate التالي:

  Call Mysearch_AfterUpdate

وكرره لكل حرف مطلوب تجاهل شبهائه

اصنع مربع نص غير منضم وسمه

Mycount

--------------------------------------------------------------------------------------------------------------------------

(2)

ضع مربع نص غير منضم

وسيكون محرك بحثك

وضع الكودين التاليين فيه

After Update ضع فيه

Private Sub Mysearch_AfterUpdate()
  Me.Requery
  SendKeys "{F2}"
  Dim newsearch As String
  newsearch = changesearch(Me.Mysearch)
  
  M = "SELECT Table1.* FROM Table1 WHERE (([Table1].[strname] Like '*" & 

newsearch & "*')) ORDER BY [Table1].[strname]; "
  Me.RecordSource = M
  Me.Mycount = Me.RecordsetClone.RecordCount

  Me.Mysearch.SetFocus
  
End Sub

غير:

Table1

strname

Mysearch

إلى اللازم

On Double click ضع فيه
Private Sub Mysearch_DblClick(Cancel As Integer)
 SendKeys "+{F2}", True
End Sub

------------------------------------------------------------------------------------------------------------------------

(3)

ضع ال function التالية في مكان ال codes في الآكسيس

Function changesearch(Mytxt) As String

Dim tempstr As String

Dim tempend As String

tempstr = Nz(Mytxt, "")

If Me.ch1 = -1 Then

tempend = ""

If tempstr Like "*[أاآإ]*" Then

For b = 1 To Len(tempstr)

If Mid(tempstr, b, 1) = "ا" Or Mid(tempstr, b, 1) = "إ" Or Mid(tempstr, b, 1) = "أ" Or Mid(tempstr, b, 1) = "آ" Then

tempend = tempend & "[أآاإ]"

Else

tempend = tempend & Mid(tempstr, b, 1)

End If

Next

tempstr = tempend

End If

End If

If Me.Ch2 = -1 Then

tempend = ""

If tempstr Like "*[ةه]*" Then

For b = 1 To Len(tempstr)

If Mid(tempstr, b, 1) = "ة" Or Mid(tempstr, b, 1) = "ه" Then

tempend = tempend & "[ةه]"

Else

tempend = tempend & Mid(tempstr, b, 1)

End If

Next

tempstr = tempend

End If

End If

If Me.Ch3 = -1 Then

tempend = ""

If tempstr Like "*[ىي]*" Then

For b = 1 To Len(tempstr)

If Mid(tempstr, b, 1) = "ى" Or Mid(tempstr, b, 1) = "ي" Then

tempend = tempend & "[ىي]"

Else

tempend = tempend & Mid(tempstr, b, 1)

End If

Next

tempstr = tempend

End If

End If

changesearch = tempstr

'MsgBox tempstr

End Function

------------------------------------------------------------------------------------------------------------------------

(4)

اصنع command button وفي On click ضع

Private Sub showall_Click()
 Me.RecordSource = "SELECT Table1.* FROM Table1;"
  Me.Mycount = Me.RecordsetClone.RecordCount

 Me.Refresh

End Sub

:)

تقليد للبحث المحترف.rar

تم تعديل هذه المشاركة بواسطة leitmotive في 13 أكتوبر 2005 في 23:17

علمني ولك أجري وأجر من سأعلمه وما سأعمله إن شاء الله

:)

#7

أخي الكريم leitmotive

عندي ماتطلبه و زيادة حبتين

و لكن يجب ان نتعارف و أعرف في أي شيء ستسخدم هذا الكود

و من أي البلاد أنت

أرجو التواصل معي لأرسل لحضرتك البرنامج الخاص بكل ما تطلبه و به كل طلباتك

....rahmasoft1@yahoo.com

إذا كنت تطلبه في الغرض ذاته الذي من أجله عملت البرنامج الخاص بي

فالبرنامج و الشرح مجانا

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

و جزاكم الله خيرا

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#8

السلام عليكم

في الحقيقة أطلب هذا الأمر من باب التعلم يعني ليس لدي مشروع معين أريد استخدامه فيه :)

ولكنها لغتنا العربية الجميلة ولهذا خطر السؤال في بالي.

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

لذلك طلبت الكود من باب توسيع المدارك ومن باب إفادة الأعضاء الآخرين، ولعلك تلاحظ في المنتدى أن اسئلتي لا تنتهي :D لأني فعلا أريد تعلم الآكسيس فهو برنامج رائع.

أتمنى منك أن تشرح لنا الأمر هنا لتعم الفائدة وليتعلم الجميع.

وجزاك الله كل خير :)

سررت بمعرفتك.

علمني ولك أجري وأجر من سأعلمه وما سأعمله إن شاء الله

:)

#9

أخي الكريم

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

و جزاكم الله خيرا

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#10

تقصد بلد الجنسية أم بلد الإقامة؟

ولماذا تريد أن تعرف؟؟؟؟؟؟؟؟؟؟؟؟ ما فائدة هذا السؤال يعني؟

شكرا :)

علمني ولك أجري وأجر من سأعلمه وما سأعمله إن شاء الله

:)

#11

أخي الكريم

قمت بتطوير برنامج لشركة لها فروع في عدة محافظات في بلدي

يقوم البرنامج بمعظم طلبات حضرتك

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

و لكن لو حضرتك من بلد أخر سيكون سهل علي الأمر.

و ليس من الخطورة أن تذكر المعلومتين

بلد المنشأ و بلد الإقامة

و جزاكم الله خيرا

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#12

أخي الكريم

إثراءا لحديث حضرتك أظن أنك أغفلت نقطة مهمة

بعض المستخدمين قد يكتبون "عبد الحميد" أو "عبدالحميد"

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

فكيف سيتم حل تلك المشكلة ؟؟؟

نقطة أخرى ؟

لو الإسم مكتوب في حقلين أو ثلاثة فسيوجد مجموعة إحتمالات : عددها 8 كأقصى حد

بمعنى نفترض أن الإسم يخزن في ثلاثة حقول : الإسم الأول إسم الأب و اللقب

و نحن سنأخد النقطة السابقة -ترك المسافة أو كتابنها- في الأعتبار

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

أ إ اآ ه ة ت ى ي

نرجوا مشاركة الأخوة الأعزاء

و إن شاء الله سأقوم برفع البرنامج الذي قام بكل هذه الإحتمالات

و جزاكم الله خيرا

أبو رحمة

يا حيّ يا قيـوم ... برحمتك استغيث ... اصلح لي شأني كله و لا تكلني الى نفسي طرفة عين

#13

السلام عليكم

صحيح

نقاط مهمة جدا :D

بانتظار الكود بأقرب فرصة

وجزاك الله كل خير :)

علمني ولك أجري وأجر من سأعلمه وما سأعمله إن شاء الله

:)

هذا الموضوع مغلق.

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