منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
البحث في قاعدة البيانات مع تجاهل التشكيل - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم قواعد البيانات (http://vb4arb.com/vb/forumdisplay.php?fid=40)
+--- قسم : قسم أسئلة قواعد البيانات تحت بيئة الـ.NET (http://vb4arb.com/vb/forumdisplay.php?fid=41)
+--- الموضوع : البحث في قاعدة البيانات مع تجاهل التشكيل (/showthread.php?tid=20857)

الصفحات: 1 2


البحث في قاعدة البيانات مع تجاهل التشكيل - waelalmsry75 - 28-06-17

السلام عليكم
الإخوة الكرام
قرأت مواضيع متعددة عن تجاهل التشكيل أثناء البحث في قاعدة بيانات Access وأن ذلك متعذر ولجوء البعض إلى طرق للوصول إلى المطلوب
لكني لم أصل إلى نتيجة مرضية
وأرجو في هذا الموضوع بيان الطريقة المثلى لذلك
وأن يكون بطريقة مبسطة لأنني ما زلت في بداية الطريق
وجزاكم الله خيرا
========
قاعدة البيانات Access 2010
vb 2012


RE: البحث في قاعدة البيانات مع تجاهل التشكيل - waelalmsry75 - 29-06-17

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

تذكير للإخوة الكرام


RE: البحث في قاعدة البيانات مع تجاهل التشكيل - سعود - 29-06-17

هل جربت استخدام معيار Like في جملة الاستعلام؟


RE: البحث في قاعدة البيانات مع تجاهل التشكيل - waelalmsry75 - 29-06-17

(29-06-17, 10:28 AM)سعود كتب : هل جربت استخدام معيار Like في جملة الاستعلام؟

نعم أخي سعود
جربته
لكنه لا يأتي بنتائج جيدة


RE: البحث في قاعدة البيانات مع تجاهل التشكيل - حريف برمجة - 29-06-17

تشكيل الحروف ،، أي الحروف تقصد ؟

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


RE: البحث في قاعدة البيانات مع تجاهل التشكيل - waelalmsry75 - 29-06-17

(29-06-17, 06:49 PM)حريف برمجة كتب : تشكيل الحروف ،، أي الحروف تقصد ؟

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

أخي.. حريف برمجة
شكرا لك على اهتمامك
وأقصد بالتشكيل الفتحة والكسرة والضمة والسكون وهكذا
عندي في قاعدة البيانات نصوص مشكلة
وأبحث عن طريقة تقوم بتجاهل هذا التشكيل أثناء البحث
فمثلا:
كلمة "محمد"
لها صور متعددة في قاعدة البيانات حسب تشكيلها مثل
"مُحَمَّدٌ" "مُحَمَّدٍ" "مُحَمّد" "مُحمّد" ...........
وأريد عندما أبحث عن كلمة "محمد" بدون تشكيل أن يظهر لي جميع هذه الكلمات أيا كان التشكيل.


RE: البحث في قاعدة البيانات مع تجاهل التشكيل - K39 - 30-06-17

كود :
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



RE: البحث في قاعدة البيانات مع تجاهل التشكيل - waelalmsry75 - 30-06-17

(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
لكني لم أستطع تنفيذ الكود
فأرفقت مثالا للتطبيق عليه إن تيسر لك ذلك
وجزاك الله خيرا


RE: البحث في قاعدة البيانات مع تجاهل التشكيل - K39 - 30-06-17

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



RE: البحث في قاعدة البيانات مع تجاهل التشكيل - waelalmsry75 - 30-06-17

(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?/topic/111389-%D8%AA%D8%B9%D9%84%D9%85-%D9%83%D9%8A%D9%81-%D8%AA%D8%AA%D8%AC%D8%A7%D9%87%D9%84-%D8%A7%D9%84%D8%AA%D8%B4%D9%83%D9%8A%D9%84-%D9%88%D8%A7%D9%84%D9%87%D9%85%D8%B2%D8%A7%D8%AA-%D8%B9%D9%86%D8%AF-%D8%A7%D9%84%D8%A8%D8%AD%D8%AB-%D8%A8%D8%A7%D9%84%D9%86%D8%B5%D9%88%D8%B5-%D8%A7%D9%84%D8%B9%D8%B1%D8%A8%D9%8A%D8%A9-%D9%81%D9%8A-%D9%82%D9%88%D8%A7%D8%B9%D8%AF-%D8%A8%D9%8A%D8%A7%D9%86%D8%A7%D8%AA-sql/