أو أي اصدار اقدم ، إلا أن 3.6 هو الاصدار المفضل .
والآن ، تقدم لنا DAO كائنات مختلفة للتعامل مع قواعد البيانات ، فهي توفر لنا Workspace لبدء العمل مع قاعدة البيانات مع الكائن Database والمختص بالتعامل مع ملف قاعدة البيانات ، RecordSet للتعامل مع الجداول ، TableDef للقيام بانشاء جداول وقت التنفيذ - أحد تطبيقاته - .
والآن سنتعرف على Sub main() ؟ يوفر لنا الفيجوال بيسك امكانية بدء المشروع بواسطة هذه الاجراء والذي يتم تعريفه في Module ، ولذلك نقوم في هذا الاجراء بعمل المهام التي نحتاجها قبل البدء في تنفيذ الكود .
من قائمة Project اختر Project Properties ، ومن ثم اختر Sub main من القائمة Startup .
والآن سوف بتعريف عدد من المتغيرات Public وذلك بالشكل التالي :
كود:
Public D1 As Database
Public T1 As Recordset
Public T2 As Recordset
Public folder As String
* المتغيرات Public هي أحد أنواع الوصول للمتغيرات حيث يتم مشاهدة المتغيرات على مستوى المشروع . المتغير الأول خاص بقاعدة البيانات ، بينما متغيرات خاصان بالجداول ، وأخيراً متغير نصي String نخزن فيه مسار البرنامج الحالي .
والآن سوف نقوم
ببرمجة الاجراء main ، وسوف يحتوي على المهام التالي مرتبة :
* معرفة مسار البرنامج .
* إذا لم تكن قاعدة البيانات موجودة فإنه يقوم باستدعاء اجراء انشاء قاعدة بيانات جديدة .
* بعد وجود قاعدة البيانات الجديدة أو الموجودة اصلاً ، القيام بازالة خاصية القراءة فقط من على الملف .
* الاتصال بقاعدة البيانات .
* اظهار الفورم الرئيسي للبرنامج .
وهذا هو الكود ، وبين كل مهمة ومهمة أخرى هناك سطر :
كود:
Private Sub main()
folder = App.Path
If Right(folder, 1) <> "\" Then folder = folder & "\"
If Dir(folder & "mm.mdb") = "" Then
CreateMyDatabase folder & "mm.mdb"
End If
SetAttr folder & "mm.mdb", vbNormal
Set D1 = DBEngine.Workspaces(0).OpenDatabase(folder & "mm.mdb")
Form1.Show
End Sub
والآن سوف نقوم ببرمجة الاجراء الذي يقوم بعمل قاعدة البيانات في حالة عدم وجودها ، وهو مقسم على قسمين .
-
انشاء ملف قاعدة البيانات . -
بعد انشاء الملف ، انشاء الجداول والحقول داخلها .
سنسمي المهمة الأولى CreateMyDatabase وسوف تقوم بالخطوات التالية مرتبة :
* تعريف متغير خاص لقاعدة البيانات .
* انشاء قاعدة البيانات - لاحظ تشابه الطريقة مع طريقة فتح قاعدة البيانات .
* اغلاق قاعدة البيانات .
* استدعاء الاجراء الثاني - انشاء الجداول والحقول داخلها - .
* افراغ المتغيرات Varibles حتى لا تحجز مكاناً من الذاكرة .
مجدداً هذا هو الكود :
كود:
Sub CreateMyDatabase(DB_Name As String)
Dim dbsNew As Database
Set dbsNew = DBEngine.Workspaces(0).CreateDatabase(DB_Name, dbLangGeneral, dbEncrypt)
dbsNew.Close
CreateMyTableS DB_Name
Set dbsNew = Nothing
Set wrkDefault = Nothing
End Sub
المهمة الأخيرة في هذا الدرس ، هي
انشاء الجداول داخل قاعدة البيانات ، وسوف تمر بالخطوات التالية .
* تعريف TableDef لانشاء جدول من خلاله . وكذلك متغير من نوع ملف قاعدة بيانات .
* فتح قاعدة البيانات التي انشأناها للتو .
* تعريف TableDef على أنه منشأ للجداول داخل قاعدة البيانات ( ربطه بقاعدة البيانات ) .
* البدء في اضافة الحقول .
* اتمام عملية اضافة الجدول .
وهذا هو الكود :
كود:
Sub CreateMyTableS(DBName)
Dim dbsMyData As Database
Dim tdfNew1 As TableDef
Set dbsMyData = OpenDatabase(DBName)
With dbsMyData
Set tdfNew1 = dbsMyData.CreateTableDef("TB")
With tdfNew1
.Fields.Append .CreateField("nu", dbInteger)
.Fields.Append .CreateField("fn", dbText)
.Fields.Append .CreateField("te", dbDouble)
End With
dbsMyData.TableDefs.Append tdfNew1
End With
End Sub خاتمة :
في هذا الدرس تعرفنا سوية على كيفية عمل كائن Dao ، وكيفية انشاء قاعدة بيانات من خلاله وقت التنفيذ .

