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

البحث في جميع حقول قاعدة البيانات

بدأه حسين احمد طالب في 16 سبتمبر 2011 · 1 رد · 579 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

نفترض اننا لدينا قاعدة بيانات تحتوي على أسماء مستخدمين وأعمارهم في الحل التالي:

بداية نكون فورم كما في الشكل وندرج بها الأدوات كما هي مبينه

01315844488.png

1. نكون دالة تحول أسماء حقول DataGridView1 الى مايقابلها بالعربية

والفائدة منها هي لتحويل أسماء حقول قاعدة البيانات المعروضة في DataGridView1 بعد كل عملية بحث الى العربية (وسنرى كم ستفيدنا هذه الطريقة في تكوين تقرير مفتوح حسب الطلب في مقالة القادمة بأذن الله)

Function ReplacedNamesE2A(ByVal RecivedNames As String) As String
Select Case RecivedNames(0)
Case "a" To "z"
Select Case RecivedNames
Case "age"
ReplacedNamesE2A = "العمر"
Case "name"
ReplacedNamesE2A = "الاسم الكامل"
Case Else
ReplacedNamesE2A = ""
End Select
Case Else
ReplacedNamesE2A = RecivedNames
End Select
End Function

2. نكون دالة اخرى تعمل العكس تحول اسماء الحقول العربية الى الانكليزية

والفائدة منها هي عند استدعاء عملية البحث عن ما موجود في ComboBox1 يحوله من العربية الى الانكليزية لكي يتمكن من البحث عن الحقل المطلوب

Function ReplacedNamesA2E(ByVal RecivedNames As String) As String
Select Case RecivedNames
Case "العمر"
ReplacedNamesA2E = "age"
Case "الاسم الكامل"
ReplacedNamesA2E = "name"
Case Else
ReplacedNamesA2E = ""
End Select
End Function

3. نكون دالة تستدعى عند كل عملية بحث لتغير اسماء الحقول واعادة تعبئة ComboBox1 بأسماء الحقول بالغة العربية

Sub FillDataToDataGridAndcombo()
ComboBox1.Items.Clear()
For i = 1 To DataGridView1.ColumnCount - 1
Try
DataGridView1.Columns(i).HeaderText = ReplacedNamesE2A(DataGridView1.Columns(i).HeaderText)
'نملا قائمة الاسماء بالحقوا المتوفرة
ComboBox1.Items.Add(DataGridView1.Columns(i).HeaderText)
Catch ex As Exception
End Try
Next
End Sub

4. ونكتب في حدث TextChanged الخاص ب TextBox1_ كود عملية البحث

On Error Resume Next
DataGridView1.DataSource = DataGridView1.DataBindings
MyRows = DS.Tables("tabel").Select(ReplacedNamesA2E(ComboBox1.Text) & " LIKE '%" & Trim(TextBox1.Text) & "%'")
Dim FoundRows As DataTable = DS.Tables("tabel").Clone
For Each dr In MyRows
FoundRows.ImportRow(dr)
DataGridView1.DataSource = FoundRows
Next
()FillDataToDataGridAndcombo

حمل المثال من هنا

مدونتي

http://hussienahmmed.blogspot.com/

1

------------------

حسين الربيعي

 

مهندس برامجيات من العراق

 

ادرس  في  RIT  في الولايات المتحدة

 

مدونتي

http://hussienahmmed.blogspot.com/

 

قناة اليوتيوب الخاصة بلدورات

https://www.youtube.com/user/alxs1aa

#2

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

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

.:: Wish to become better and better ::.

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