السلام عليكم
مرفق ملف فيه حل لمشكلة البحث في اللغة العربية ، فمثلا ً إذا بحثت عن شخص اسمه أحمد زيادة إحساس مرزوقي
وكان اسمه في قاعدة البيانات مكتوب بهذا الشكل : أحمد زياده مرزوقى ، فإذا بحث عنه بكتابتك المعتادة للغة العربية السليمة فلن تجده ، وكذلك فإنك لا تضمن كيفية إدخال الموظف مدخل البيانات للحروف .
طريقة الحل كالتالي ، هو عمل حقل خاص Field في نفس الجدول Table ويكون هذا الحقل فيه نفس أسماء الموظفين ولكن بعد اللعب في مكوناتها ، كيف ؟
عن طريق عمل دالة تقوم بــ
حذف الهمزات : أحمد = احمد ، إحسان = احسان وهكذا
استبدال التاء المربوطة بالهاء : أسامة = اسامه ، نورة = نوره وهكذا
استبدال الياء الأخيرة لألف مقصورة : قاضي = قاضى ، سامي = سامى وهكذا .
وهكذا تكون جميع الأسماء تمت فلترتها ووضعها في نفس الجدول ولكن في حقل جديد .
فإذا قمت بالبحث ، فتقوم هذه الدالة ذاتها بمقارنة ماكتبه الباحث وتقوم بفلترته ومقارنته بالحقل الجديد الموجود ثم تقوم بإخراج الاسم الأصلي للنتيجة . حد فهم حاجة ؟؟
عموما أنا موجود لو حد عايز يفهم الطريقة دي .
المثال يعمل على SQLserver2005 ويمكنك تغيير اسم قاعدة البيانات واسم السيرفر وكل الكونيكشن سترينج بشكل عام من خلال الموديول ModConn
من ملف ModFuncs قم بتغيير اسم الجدول المتكرر في الملف TDeptEmp إلى اسم الجدول الذي تحبه
ثم اسم الحقل الأصلي لأسماء الموظفين DeptEmpFullName قم بتغييره
ثم اسم الحقل الجديد بعد الفلترة لأسماء الموظفين FakeEmpName قم بتغييره
ثم رقم الموظف DeptEmpID قم بتغييره لحقل أرقام الموظفين الموجود عندك
والآن المفترض أن يعمل المشروع عندك ، وللأسف هناك عيب لم أتفرغ لحله وهو تكرار الحرف أحيانا أثناء البحث ولم افرغ وقتي لحلها ، وياريت لو حد حلها يبلغني .
أتمنى أن يكون نافعا ً .
جزاكم الله خيرا .