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

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

قام بنشر

الإخوة الكرام .. في الملف المرفق كود لاستبدال بعض الحروف بحروف أخرى في مربع البحث (searchtext)

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

Private Sub search_go_Click()
Dim str As String
searchtext.SetFocus
str = Me.searchtext.Text
Me.searchtext = Replace(str, "أ", "ا")
Me.searchtext = Replace(str, "إ", "ا")
Me.searchtext = Replace(str, "آ", "آ")
Me.searchtext = Replace(str, "ة", "ه")
Me.searchtext = Replace(str, "ى", "ي")
Me.searchtext = Replace(str, "ؤ", "و")

والمشكلة فيه أنه لا يستبدل كل هذه الأحرف‘ إنما يستبدل الأحرف الموجدة في آخر جملة من الكود فقط ويتجاهل ما قبلها

فما هي الصيغة الصحيحة لتأدية المطلوب واستبدال جميع هذه الأحرف

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

Replace.accdb

قام بنشر

الإخوة الكرام .. أفادني مؤخرا أحد الأخوة ممن عنده بعض المعلومات عن أكسس بتعديل الكود ليصبح هكذا:

 

Dim str As String

searchtext.SetFocus
str = Me.searchtext.Text
Me.searchtext = Replace(str, "أ", "ا")
str = Me.searchtext.Text
Me.searchtext = Replace(str, "إ", "ا")
str = Me.searchtext.Text
Me.searchtext = Replace(str, "آ", "ا")
str = Me.searchtext.Text
Me.searchtext = Replace(str, "ة", "ه")
str = Me.searchtext.Text
Me.searchtext = Replace(str, "ى", "ي")
str = Me.searchtext.Text
Me.searchtext = Replace(str, "ؤ", "و")

وأصبح الكود يعمل بشكل جيد ويستبدل جميع الحروف المطلوبة

ولكن هل توجد صيغة تختصر هذا السطر المكرر، أم أن هذه أفضل صياغة للكود

  • Like 1
  • أفضل إجابة
قام بنشر

جرب هذا الاختصار 

Dim str As String
searchtext.SetFocus
str = Me.searchtext.Text
str = Replace(str, "أ", "ا")
str = Replace(str, "إ", "ا")
str = Replace(str, "آ", "ا")
str = Replace(str, "ة", "ه")
str = Replace(str, "ى", "ي")
Me.searchtext = Replace(str, "ؤ", "و")

بالتوفيق 

  • Like 1
قام بنشر

جزاك الله خيرا أخي الكريم .. الاختصار يعمل بشكل جيد .. وأصبح كود البحث يتجاهل الفروق بين الحروف المطلوبة

  • Like 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