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

مشكلة البحث بالاسم بستخدام LIKE

مغلق
بدأه m_hussein في 11 أبريل 2007 · 4 رد · 873 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اقوم بعمل برنامج VB6 & Access

اقوم بالبحث عن الاسماء طريق امر LIke

ولكن يقوم بالتفرقة بين أ \ ا & ى \ي

جملة SQL

Member_Name LIKE '" & RTrim(Text10) & "*' order by Member_Name ASC

#2

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

طبيعي جدا اخي العزيز انه يفرق بين { ا } و { أ } . حيث انهم حرفين مختلفين بالنسبه له ولهم ASCII Code مختلف . اي انه يفهم { ا } على انه حرف و { أ } على انه حرف اخر ......

ولحل هذه المشكله امامك اكثر من حل :

الاول : تعطي شرط عند ادخال البيانات اصلا الى القاعدة بحيث اذا قام المستخدم بكتابة الـ TEXT يحتوي على { أ } يقوم بأستبدالها بـ { ا } ثم يتم الحفظ في القاعدة وبالتالي تضمن ان كل الحروف { ا } وليست { أ } .

وعند اجراء عملية البحث يتم البحث في النص المراد البحث عنه بحيث اذا قام المستخدم بكتابة TEXT يحتوي على { أ } يتم استبداله هذا الحرف في النص بـ حرف الـ { ا } وبالتالي ستكون النواتج صحيحة .

الثاني: عند اجراج عملية البحث يتم بـ أثنين TEXT الاول يحتوي على { أ } والثاني يحتوي على { ا } بعد تظبيط النصين اي الاول يحتوي على { أ } والثاني حتوي على { ا } ومن ثم تجري عملية البحث ويكون كود الـ sql هكذا :

Member_Name LIKE '" & RTrim(T1) & "*' OR Member_Name LIKE '" & RTrim(T2) & "*' order by Member_Name ASC

حيث ان الـ t1 و t2 هم الـ اثنين بعد معالجتهم .

ولكني ارجح الحل الاول ,,

واي الحلول السابقه تستريح لها قلي واقوم بعمل مثال لك على ذلك

تحياتي ,,,,,

A7med_prof

اقتباس

آسف الدخول متقطع هذه القتره

اقتباس

[يمين]

.[/يمين]

A7med_prof-4-2007.jpg

اخر مواضيعي 2007

االمثال مطبق على موقع بورصه سعودي

.

.

مواضيع مهمه ومطلوبه بكثره VB6

.

بــرامج ومشــاريع عربيه كامــله {HnHn} والمزيد في قسم برامج الاعضاء || ربط قواعد بيانات اكسس مع الفيجوال بيسك, مادة دراسية كاملة {بنت اليمن}|| المرجع الشامل لجمل SQL ا {GENIUS-IT} || كيفية التعامل مع مكتبة الـ DAO, في الوصول إلى قاعدة بيانات {رمضان} || مثال ريط Visaul Basic 6.0 مع SQL SERVER ا || العمليات التي تجرى على قاعدة البيانات, مثال كامل {بنت اليمن} || تصدير البيانات من الاكسل الي الاكسس بالفيجوال بيسك {HnHn} || البحث في قاعدة البيانات {MANSUR} || قواعد البيانات العلائقية وتقنيات الوصول إليها {عبد الله فتحي} || كيفية أظهار بيانات جدولين بواسطة التاريخ ,,,,,,,

.

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

.

</
#3

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

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

عند الإدخال :

Dim st As String
Dim Sql as String
st = Replace(Text10.Text, "ا" , "أ", , , vbTextCompare)
st = Replace(st, "ا", "إ", , , vbTextCompare)
st = Replace(st, "ى", "ي", , , vbTextCompare)
' insert st instead of text10
Sql = "Insert into Tab1(Member_Name) Values ('" & st & "')"

وعند البحث نستخدم نفس العملية كما يلي :

Dim st As String
Dim Sql as String
st = Replace(Text10.Text, "ا" , "أ", , , vbTextCompare)
st = Replace(st, "ا", "إ", , , vbTextCompare)
st = Replace(st, "ى", "ي", , , vbTextCompare)
' Search for st instead of text10
Sql = "Select * from Tab where Member_Name Like  '" & st & "%'"

هذا والله أعلم.

تم تعديل هذه المشاركة بواسطة Aladdin86 في 11 أبريل 2007 في 16:56

أعوذ بالله من الشيطان الرجيم

قل إنّ صلاتي و نسكي و محيّاي و مماتي لله رب العالمين

صدق الله العظيم

#4

السلام عليكم

اخي الكريم اانا برأي عملية الاستبدال (ا,أ),(ى,ي) خاطئة و غير منطقية

و الدليل أن نظام التشغيل يفرق بينهم في عملية البحث

بإمكانك التجريب على المفكرة

#5

السلام عليكم

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

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

وهل توجد طريقة للتصحيح الاملائى زى الورد

شكراً

M_hussein2001@hotmail.com

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

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