تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
البحث في قاعدة البيانات مع تجاهل التشكيل
#1
السلام عليكم
الإخوة الكرام
قرأت مواضيع متعددة عن تجاهل التشكيل أثناء البحث في قاعدة بيانات Access وأن ذلك متعذر ولجوء البعض إلى طرق للوصول إلى المطلوب
لكني لم أصل إلى نتيجة مرضية
وأرجو في هذا الموضوع بيان الطريقة المثلى لذلك
وأن يكون بطريقة مبسطة لأنني ما زلت في بداية الطريق
وجزاكم الله خيرا
========
قاعدة البيانات Access 2010
vb 2012
الرد
تم الشكر بواسطة:
#2
(28-06-17, 03:39 AM)waelalmsry75 كتب : السلام عليكم
الإخوة الكرام
قرأت مواضيع متعددة عن تجاهل التشكيل أثناء البحث في قاعدة بيانات Access وأن ذلك متعذر ولجوء البعض إلى طرق للوصول إلى المطلوب
لكني لم أصل إلى نتيجة مرضية
وأرجو في هذا الموضوع بيان الطريقة المثلى لذلك
وأن يكون بطريقة مبسطة لأنني ما زلت في بداية الطريق
وجزاكم الله خيرا
========
قاعدة البيانات Access 2010
vb 2012

تذكير للإخوة الكرام
الرد
تم الشكر بواسطة:
#3
هل جربت استخدام معيار Like في جملة الاستعلام؟
الرد
تم الشكر بواسطة: waelalmsry75
#4
(29-06-17, 10:28 AM)سعود كتب : هل جربت استخدام معيار Like في جملة الاستعلام؟

نعم أخي سعود
جربته
لكنه لا يأتي بنتائج جيدة
الرد
تم الشكر بواسطة:
#5
تشكيل الحروف ،، أي الحروف تقصد ؟

هل الحرف (ا,أ,آ,إ)
أو (و,ؤ)
أو ايش بالضبط .
الرد
تم الشكر بواسطة: waelalmsry75
#6
(29-06-17, 06:49 PM)حريف برمجة كتب : تشكيل الحروف ،، أي الحروف تقصد ؟

هل الحرف (ا,أ,آ,إ)
أو (و,ؤ)
أو ايش بالضبط .

أخي.. حريف برمجة
شكرا لك على اهتمامك
وأقصد بالتشكيل الفتحة والكسرة والضمة والسكون وهكذا
عندي في قاعدة البيانات نصوص مشكلة
وأبحث عن طريقة تقوم بتجاهل هذا التشكيل أثناء البحث
فمثلا:
كلمة "محمد"
لها صور متعددة في قاعدة البيانات حسب تشكيلها مثل
"مُحَمَّدٌ" "مُحَمَّدٍ" "مُحَمّد" "مُحمّد" ...........
وأريد عندما أبحث عن كلمة "محمد" بدون تشكيل أن يظهر لي جميع هذه الكلمات أيا كان التشكيل.
الرد
تم الشكر بواسطة:
#7
كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
   Dim sql As String = "SELECT * FROM [Table1] WHERE " & RemoveFieldTashkeel("FirstName") & " = @fname"
   Using da As New OleDb.OleDbDataAdapter(sql, conn)
       da.SelectCommand.Parameters.AddWithValue("@fname", "محمد")
       Dim dt As New DataTable

       da.Fill(dt)

       DataGridView1.DataSource = dt
   End Using
End Sub

Public Shared Function RemoveFieldTashkeel(fieldName As String) As String
   fieldName = fieldName.Replace("[", "").Replace("]", "")
   fieldName = String.Concat(Enumerable.Repeat("Replace(", 8)) & "[" & fieldName & "]" & String.Concat(Enumerable.Range(1611, 8).Select(Function(x) ",'" & ChrW(x) & "','')"))
   Return fieldName
End Function



كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
   Dim q = Database1DataSet.Table1.Where(Function(x) RemoveTextTashkeel(x.FirstName).Equals("محمد"))
   If q.Count > 0 Then
       DataGridView1.DataSource = q.CopyToDataTable
   End If
End Sub

Public Shared Function RemoveTextTashkeel(txt As String) As String
   txt = String.Concat(txt.Split(Enumerable.Range(1611, 8).Select(Function(x) ChrW(x)).ToArray))
   Return txt
End Function
الرد
تم الشكر بواسطة: waelalmsry75 , سعود , سعود
#8
(30-06-17, 01:19 AM)K39 كتب :
كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
   Dim sql As String = "SELECT * FROM [Table1] WHERE " & RemoveFieldTashkeel("FirstName") & " = @fname"
   Using da As New OleDb.OleDbDataAdapter(sql, conn)
       da.SelectCommand.Parameters.AddWithValue("@fname", "محمد")
       Dim dt As New DataTable

       da.Fill(dt)

       DataGridView1.DataSource = dt
   End Using
End Sub

Public Shared Function RemoveFieldTashkeel(fieldName As String) As String
   fieldName = fieldName.Replace("[", "").Replace("]", "")
   fieldName = String.Concat(Enumerable.Repeat("Replace(", 8)) & "[" & fieldName & "]" & String.Concat(Enumerable.Range(1611, 8).Select(Function(x) ",'" & ChrW(x) & "','')"))
   Return fieldName
End Function



كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
   Dim q = Database1DataSet.Table1.Where(Function(x) RemoveTextTashkeel(x.FirstName).Equals("محمد"))
   If q.Count > 0 Then
       DataGridView1.DataSource = q.CopyToDataTable
   End If
End Sub

Public Shared Function RemoveTextTashkeel(txt As String) As String
   txt = String.Concat(txt.Split(Enumerable.Range(1611, 8).Select(Function(x) ChrW(x)).ToArray))
   Return txt
End Function

شكرا لك على اهتمامك أخي K39
لكني لم أستطع تنفيذ الكود
فأرفقت مثالا للتطبيق عليه إن تيسر لك ذلك
وجزاك الله خيرا


الملفات المرفقة
.rar   RemoveFieldTashkeel.rar (الحجم : 161.64 ك ب / التحميلات : 77)
الرد
تم الشكر بواسطة: سعود
#9
(28-06-17, 03:39 AM)waelalmsry75 كتب : السلام عليكم
الإخوة الكرام
قرأت مواضيع متعددة عن تجاهل التشكيل أثناء البحث في قاعدة بيانات Access وأن ذلك متعذر ولجوء البعض إلى طرق للوصول إلى المطلوب
لكني لم أصل إلى نتيجة مرضية
وأرجو في هذا الموضوع بيان الطريقة المثلى لذلك
وأن يكون بطريقة مبسطة لأنني ما زلت في بداية الطريق
وجزاكم الله خيرا
========
قاعدة البيانات Access 2010
vb 2012


الملفات المرفقة
.zip   RemoveFieldTashkeel.zip (الحجم : 43.85 ك ب / التحميلات : 78)
الرد
تم الشكر بواسطة: waelalmsry75
#10
(30-06-17, 11:29 AM)K39 كتب :
(28-06-17, 03:39 AM)waelalmsry75 كتب : السلام عليكم
الإخوة الكرام
قرأت مواضيع متعددة عن تجاهل التشكيل أثناء البحث في قاعدة بيانات Access وأن ذلك متعذر ولجوء البعض إلى طرق للوصول إلى المطلوب
لكني لم أصل إلى نتيجة مرضية
وأرجو في هذا الموضوع بيان الطريقة المثلى لذلك
وأن يكون بطريقة مبسطة لأنني ما زلت في بداية الطريق
وجزاكم الله خيرا
========
قاعدة البيانات Access 2010
vb 2012

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

http://arabteam2000-forum.com/index.php?...D8%AA-sql/
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة ظهور بياانات حقلين في قاعدة بيانات على شكل علامة استفهام bassant 5 48 منذ 4 ساعة مضت
آخر رد: abubasilIraq
  تحويل multiline text الى single line في عمود في قاعدة بيانات sql server bassant 0 141 07-09-21, 04:36 PM
آخر رد: bassant
  الحفظ فى قاعدة البيانات اسلام الكبابى 10 555 06-09-21, 06:52 PM
آخر رد: اسلام الكبابى
  [Acces2010] عمل قاعدة بيانات لنظام غيابات الطلبة hassan karim 1 542 31-08-21, 04:47 AM
آخر رد: a7med saba
  [سؤال] كيفية الوصول الى قاعدة بيانات mysql موجودة على الكمبيوتر المحلي xammp عن طريق النت alfaiz678 4 629 25-06-21, 09:46 AM
آخر رد: alfaiz678
  طريقة أضافة اكثر من سيرفر على نفس قاعدة البيانات alim54 0 241 20-06-21, 11:20 PM
آخر رد: alim54
  [سؤال] عدم إظهار الصور مع النص فى Listview من قاعدة البيانات alims 1 598 08-04-21, 11:46 PM
آخر رد: alims
  ملى الصفحة تلقائياً او ربط مستعرض الانترنت بقاعدة البيانات علي عدنان 2 2,804 02-02-21, 01:31 AM
آخر رد: فارس زيدان
  [سؤال] مشكلة اضافة التاريخ مع قاعدة بيانات alims 6 955 25-01-21, 02:45 AM
آخر رد: alims
  اسناد عامود في قاعدة بيانات اكسيس الى عامود من نوع كومبوبوكس بالداتا جريد فيو بالفيجو Ghassanfff 2 1,116 08-01-21, 08:52 PM
آخر رد: سعود

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم