تقييم الموضوع :
  • 1 أصوات - بمعدل 1
  • 1
  • 2
  • 3
  • 4
  • 5
فيجوال بيسك - التعامل مع قاعدة بيانات أكسيس من خلال Dao - الجزء الثالث والرابع
#2
بسم الله الرحمن الرحيم .

المقدمة :
في الدروس السابقة تعلمنا كيفية فتح قاعدة البيانات والتعامل معها ، العرض في الجدول MSFlexGrid ، والآن سوف نقوم بالبحث من خلال احدى جمل الاستعلام وهي جملة Select ، وقريباً سيكون هناك شرح مفصل لجمل الاستعلام .


الدرس :
تذكير سريع بجملة Select .
من أشهر جمل الاستعلامات هي الجملة التي تستخدم الكلمة المفتاحية Select . وصيغتها القياسية هي :

كود :
select field(s) form table(s) where conditon
حيث أن Fields تعني الحقول التي تظهر نتيجتها في البحث ، وقد تكون اسماء حقول مثل name,tele أو قد تكون * لعرض الكل ، وقد تكون نواتج عملية حسابية مثل Max(number) أو Count(*) .

أما Tables فهي اسماء الجداول ، والشروط فهي مثل name='ahmed' و age>5 ، مع استخدام معاملات اخرى مثل between و Like ، وبارميترات Parmeters مختلفة مثل ? و - وغيرها .

وأخيراً اذكرك بأنه عند التعامل مع النصوص فإنه لا بد من وضع '' حول الاسم ، ومع التواريخ يتم وضع ## حول التاريخ وهما النوعان الأكثر استخداماً ، أما الارقام فلا تحتاج إلى اي شيء ...

والآن إلى بداية الدرس ...
سوف نضيف أولاً الجزء الخاص بشاشة البحث ، سوف يكون بالشكل التالي :


البحث عن الأشخاص الذين لديهم ( ComboBox1 ) ( ComboBox2 ) ( searchText )
حيث سيحتوي ComboBox1 على ( الرقم - الاسم - الهاتف ) أما الثاني فيحتوي على ( = - > - < ) ، وتوضع كلمة البحث في ال searchText .
ومن ثم يوضع زر أمر بعرض نتائج البحث في الجدول .


في حدث Form_Load سوف نضيف العناصر المطلوبة للقائمتين :

كود :
Combo1.AddItem "الرقم"
Combo1.AddItem "الاسم"
Combo1.AddItem "الهاتف"
Combo1.ListIndex = 0
Combo2.AddItem "="
Combo2.AddItem ">"
Combo2.AddItem "<"
Combo2.ListIndex = 0

ولا بد من التحكم في القائمة الثانية ، حيث لا يمكن التحكم بها إلا عند اختيار الرقم ، أما الاسم والهاتف فلا يمكن البحث ب < أو > في مثالنا هذا - يمكن استخدامها ولكن ليس في مثل هذا المثال - . ويتم ذلك من خلال الحدث Click للاداة Combo1 :

كود :
Private Sub Combo1_Click()
If Combo1.ListIndex <> 0 Then
Combo2.Enabled = False
Else
Combo2.Enabled = True
End If
End Sub
في بداية زر الامر سوف نتأكد من أنه ادخل كلمة للبحث عنها :

كود :
If searchText.Text = "" Then
MsgBox "نص البحث فارغ"
Exit Sub
End If
لاحقاً سوف نشكل جملة الاستعلام ، وذلك بالشكل التالي :

كود :
Dim fldname As String
Dim op As String
Dim lst As String
If Combo1.ListIndex = 0 Then
fldname = "nu"
op = Combo2.Text
lst = ""
ElseIf Combo1.ListIndex = 1 Then
fldname = "fn"
op = "='"
lst = "'"
Else
fldname = "te"
op = "="
lst = ""
End If
Dim sql As String
sql = "select * from tb where " & fldname & op & searchText.Text & lst

حيث نخزن في fldname الحقل الذي نبحث عنه ، op معامل البحث ، واخيراً lst تحدد إذا ما كنا سوف نضيف ' من أجل النصوص .


والآن جاء دور تنفيذ جملة الاستعلام على قاعدة البيانات D1 ومن خلال الجدول الاضافي T2 :

كود :
Set T2 = D1.OpenRecordset(sql, dbOpenDynaset)
وأخيراً سوف نقوم بملء الجدول من خلال استدعاء Fill_Table .

كود :
fill_Table
خاتمة :


في هذا السلسلة البسيطة من الدروس تعرفنا على اساسيات التعامل مع Dao من خلال فيجوال بيسك Visual Basic مع قواعد بيانات Access .
وملف العمل موجود في المرفقات ...


أسأل الله أن أكون قد وفقت في هذا الشرح البسيط ، فما كان فيه من صواب فمن الله ، وما كان من خطأ فمن نفسي والشيطان ، والله الهادي إلى سواء السبيل .


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


الملفات المرفقة
.zip   daoexample.zip (الحجم : 6.47 ك ب / التحميلات : 398)
}}}
تم الشكر بواسطة: Amir_Alzubidy , المبرزي


الردود في هذا الموضوع
فيجوال بيسك - التعامل مع قاعدة بيانات أكسيس من خلال Dao - الجزء الثالث والرابع - بواسطة Raggi Tech - 14-10-12, 02:11 PM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Video قاعدة بيانات بالفيجوال جبران جابر 1 294 15-07-24, 03:50 PM
آخر رد: جبران جابر
  برنامج فيجوال 6 لايفتح قاعدة بيانات بالاكسس جبران جابر 3 430 15-07-24, 03:49 PM
آخر رد: جبران جابر
  طريقة لمعرفة عدد السجلات في قاعدة البيانات princeofislam 2 3,313 18-01-24, 11:34 AM
آخر رد: علي جابر
  برنامج لمتابعة محل بيع الجوالات اكثر من رائع بقاعدة بيانات جيدة derbaliammar 14 12,787 04-03-23, 02:24 AM
آخر رد: tighrmte
  طريقة تشغيل فيجوال بيسك6 على وندوز7 ahmed3d 6 6,106 05-12-22, 06:49 AM
آخر رد: Ergheegh2022
  تعلم كيفية حفظ و أسترجاع الصورة فى قاعدة بيانات أكسس باستخدام الكائن Stream object أحمد مناع 12 18,411 06-11-21, 02:16 PM
آخر رد: Sawsaw
  كيفية التعامل مع دوال الوقت و التاريخ و كيفية تنسيقهما فى الفجوال بيسك 6 the viper 9 12,227 22-11-18, 01:13 PM
آخر رد: next
  استفسار ربط قاعدة بيانات بالفيجوال 6 محمود عمار2 0 2,637 13-10-18, 06:39 PM
آخر رد: محمود عمار2
  مساعدة في طباعة صوره من قاعدة بيانات basma123 0 2,774 26-09-14, 03:00 PM
آخر رد: basma123
  طلب شرح اخذ نسخة احتياطية من قاعدة البيانات DIGTAL 2 4,774 31-07-13, 03:14 AM
آخر رد: طارق بيتا

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


يقوم بقرائة الموضوع: