قناص الموت
05-22-2005, 08:51 PM
ماهو محرك قواعد البيانات
هو واجهة استخدام تمكنك من الوصول إلى المعطيات بدون النظر عن نوعية المعطيات المستخدمة
مع فيجوال بيسك ؟ DAO طريقة عمل
DAO اولا قبل معرفة الطريقة يجب ربط مكتبة
بالفيجوال بيسك كالتالي
اختر من القائمة
Project - References
واختر العنصر المطلوب كالتالي
http://www.absoft2000.com/images/dao.jpg
وبعد ربط المكتبة يجب الان ربط قاعدة البيانات المطلوبة بالشكل التالي
Dim dbOpenNewDatabase1 As Database
Dim rsDetails As Recordset
dbPathName = App.Path & "\Absoft.MDB"
'Open Database تم فتح الإتصال مع قاعدة البيانات Absoft.MDB
Set dbOpenNewDatabase1 = DBEngine.Workspaces(0).OpenDatabase (dbPathName)
Set rsDetails = dbOpenNewDatabase1.OpenRecordset("Details", dbOpenTable)
rsDetails.Index = "Custno"
وبعد عملية الربط هذه بإمكانك الاشارة إلى الجداول المطلوبة بإلاشارة فقط إلى
rsDetails
فمثلا سوف نقوم بعمل البرنامج التالي
ItemNo وبهذا المثال نريد تغير قيمة الحقل
قم بوضع زر امر في نافذة البرنامج وضع بداخله هذا الكود
' rsdetails هنا نشير إلى الجدول
'وتحريك المؤشر إلى بداية الجدول
rsDetails.MoveFirst
'لتنفيذ عملية التكرار في الحقول do هنا نستخدم امر
Do
'اولا Edit يجب معرفة عند القيام بعملية التغير على اي حقل معين يجب استخدام المنهج
rsDetails.Edit
'هنا نقوم بالإشارة الفعلية للحقل مع اضافة 11
rsDetails.Fields!ItemNo = rsDetails.Fields!ItemNo + 11
'Update ولاحظ ايضايجب استخدام المنهج
rsDetails.Update
'وهذا ايضا ظروري لكي نقوم بعملية تكرار من حقل إلى الحقل الذي يليه
rsDetails.MoveNext
'هنا نقوم بإغلاق عملية الدوران مع وضع شرط وهو نهاية الجدول المطلوب
Loop Until rsDetails.EOF
التحميل (http--www.absoft2000.com-codes-database-daoexm.zip)
وبهذه الطريقة بإمكانك الاشارة إلى اي حقل تريد العمل
الان نريد معرفة كيفة عملية البحث عن حقل معين بإلاشارة إليه بالرقم مثلا
وهذا هو الكود المطلوب
'فائدة البرنامج : يختص في تعليم dao
'قواعد بيانات
''''''''''''''''''''''''''''''''''' ''''''''''''''''''
'هنا نقوم بتعريف كائنات
'هذا للقاعدة وبذلك نتمكن من استدعاء القاعدة بهذا الاسم
' db
Dim db As Database
'وهذا ايضا للسجلات او الصفوف داخل الجدول
' rs
Dim rs As Recordset
Private Sub comfind_Click()
Dim varauid As Variant
Dim strbkmark As String
'هنا نقوم بإدخال رقم العميل
varauid = InputBox("ادخل رقم العميل", "بحث العملاء", 13)
'لو رقم العميل المدخل فارغ اذن اخرج من عملية البحث
If varauid = "" Then
Exit Sub
End If
'هنا نستخدم طريقة with rs بدل من ان نستخدمها اكثر من مره
With rs
'هنا نقوم بأخذ مكان اول سجل حالي
'وذلك يفيدنا عندما تفشل عملية البحث
strbkmark = .Bookmark
'هنا نقوم بعملية البحث بطريقة find first
'وهو يقوم الان بالبحث من اول سجل موجود في القاعدة
.FindFirst "auid = " & varauid
'هنا نقوم بإختار هذا المتغير الذي يفيدنا عند فشل عملية البحث
'فإذا فشلت عملية البحث
If .NoMatch = True Then
'رجعنا على السجل قبل عملية البحث
.Bookmark = strbkmark
'إظهار رسالة بحث
MsgBox "لايوجد السجل المطلوب "
'غير ذلك
Else
'ضع في خانة النص رقم العميل من الجدول
txtid.Text = rs!auid
'ضع في خانة النص اسم العميل
txtname.Text = rs!Name
'ضع في خانة النص تاريخ ولادة العميل
txtdate.Text = rs!dob
End If
End With
End Sub
'للإستفسار
fbi_pal3@hotmail.com
Private Sub Form_Load()
'إنشاء متغيرات مطلوبة عادية
Dim strdbname As String
Dim strrsname As String
'هنا نقوم بإدخال اسم قاعدة البيانات المطلوبة
'واسم السجلات ايضا
strdbname = App.Path & "\books6.mdb"
strrsname = "Authors"
'وهنا نقوم بوضع قاعدة البيانات كعنصر يمكننا من الاشارة إلى القاعدة في اي وقت
Set db = DBEngine.OpenDatabase(strdbname)
'وهذا ايضا يمكننا من الاشارة إلى الحقول في اي وقت نريدها
Set rs = db.OpenRecordset(strrsname, dbOpenDynaset)
End Sub
التحميل (http--www.absoft2000.com-codes-database-find.zip)
هو واجهة استخدام تمكنك من الوصول إلى المعطيات بدون النظر عن نوعية المعطيات المستخدمة
مع فيجوال بيسك ؟ DAO طريقة عمل
DAO اولا قبل معرفة الطريقة يجب ربط مكتبة
بالفيجوال بيسك كالتالي
اختر من القائمة
Project - References
واختر العنصر المطلوب كالتالي
http://www.absoft2000.com/images/dao.jpg
وبعد ربط المكتبة يجب الان ربط قاعدة البيانات المطلوبة بالشكل التالي
Dim dbOpenNewDatabase1 As Database
Dim rsDetails As Recordset
dbPathName = App.Path & "\Absoft.MDB"
'Open Database تم فتح الإتصال مع قاعدة البيانات Absoft.MDB
Set dbOpenNewDatabase1 = DBEngine.Workspaces(0).OpenDatabase (dbPathName)
Set rsDetails = dbOpenNewDatabase1.OpenRecordset("Details", dbOpenTable)
rsDetails.Index = "Custno"
وبعد عملية الربط هذه بإمكانك الاشارة إلى الجداول المطلوبة بإلاشارة فقط إلى
rsDetails
فمثلا سوف نقوم بعمل البرنامج التالي
ItemNo وبهذا المثال نريد تغير قيمة الحقل
قم بوضع زر امر في نافذة البرنامج وضع بداخله هذا الكود
' rsdetails هنا نشير إلى الجدول
'وتحريك المؤشر إلى بداية الجدول
rsDetails.MoveFirst
'لتنفيذ عملية التكرار في الحقول do هنا نستخدم امر
Do
'اولا Edit يجب معرفة عند القيام بعملية التغير على اي حقل معين يجب استخدام المنهج
rsDetails.Edit
'هنا نقوم بالإشارة الفعلية للحقل مع اضافة 11
rsDetails.Fields!ItemNo = rsDetails.Fields!ItemNo + 11
'Update ولاحظ ايضايجب استخدام المنهج
rsDetails.Update
'وهذا ايضا ظروري لكي نقوم بعملية تكرار من حقل إلى الحقل الذي يليه
rsDetails.MoveNext
'هنا نقوم بإغلاق عملية الدوران مع وضع شرط وهو نهاية الجدول المطلوب
Loop Until rsDetails.EOF
التحميل (http--www.absoft2000.com-codes-database-daoexm.zip)
وبهذه الطريقة بإمكانك الاشارة إلى اي حقل تريد العمل
الان نريد معرفة كيفة عملية البحث عن حقل معين بإلاشارة إليه بالرقم مثلا
وهذا هو الكود المطلوب
'فائدة البرنامج : يختص في تعليم dao
'قواعد بيانات
''''''''''''''''''''''''''''''''''' ''''''''''''''''''
'هنا نقوم بتعريف كائنات
'هذا للقاعدة وبذلك نتمكن من استدعاء القاعدة بهذا الاسم
' db
Dim db As Database
'وهذا ايضا للسجلات او الصفوف داخل الجدول
' rs
Dim rs As Recordset
Private Sub comfind_Click()
Dim varauid As Variant
Dim strbkmark As String
'هنا نقوم بإدخال رقم العميل
varauid = InputBox("ادخل رقم العميل", "بحث العملاء", 13)
'لو رقم العميل المدخل فارغ اذن اخرج من عملية البحث
If varauid = "" Then
Exit Sub
End If
'هنا نستخدم طريقة with rs بدل من ان نستخدمها اكثر من مره
With rs
'هنا نقوم بأخذ مكان اول سجل حالي
'وذلك يفيدنا عندما تفشل عملية البحث
strbkmark = .Bookmark
'هنا نقوم بعملية البحث بطريقة find first
'وهو يقوم الان بالبحث من اول سجل موجود في القاعدة
.FindFirst "auid = " & varauid
'هنا نقوم بإختار هذا المتغير الذي يفيدنا عند فشل عملية البحث
'فإذا فشلت عملية البحث
If .NoMatch = True Then
'رجعنا على السجل قبل عملية البحث
.Bookmark = strbkmark
'إظهار رسالة بحث
MsgBox "لايوجد السجل المطلوب "
'غير ذلك
Else
'ضع في خانة النص رقم العميل من الجدول
txtid.Text = rs!auid
'ضع في خانة النص اسم العميل
txtname.Text = rs!Name
'ضع في خانة النص تاريخ ولادة العميل
txtdate.Text = rs!dob
End If
End With
End Sub
'للإستفسار
fbi_pal3@hotmail.com
Private Sub Form_Load()
'إنشاء متغيرات مطلوبة عادية
Dim strdbname As String
Dim strrsname As String
'هنا نقوم بإدخال اسم قاعدة البيانات المطلوبة
'واسم السجلات ايضا
strdbname = App.Path & "\books6.mdb"
strrsname = "Authors"
'وهنا نقوم بوضع قاعدة البيانات كعنصر يمكننا من الاشارة إلى القاعدة في اي وقت
Set db = DBEngine.OpenDatabase(strdbname)
'وهذا ايضا يمكننا من الاشارة إلى الحقول في اي وقت نريدها
Set rs = db.OpenRecordset(strrsname, dbOpenDynaset)
End Sub
التحميل (http--www.absoft2000.com-codes-database-find.zip)