كيف تقوم بعمل نسخة إحتياطيه من قاعدة البيانات

بسم الله الرحمن الرحيم

في كثير من الأحيان يهمنا أن يكون هناك نسخة إحتياطيه من قاعدة البيانات وتحدث هذه النسخة كل فتره معينه أو كل حدث معين

لشرح هذه الطريقه قم بالتالي

أول شيء إعمل بروجكت جديد ومن قائمة بروجيكت نختار ريفيرانس ومن ثم نأخذ المكتبه Microsoft ADO 3.6 La... وهذه المكتبه لربط قاعدة البيانات ويمكن ربطها بعده طرق ولا تهمنا هذه الطرق الآن

الآن قم بفتح ملف جديد من الآكسيس وقم بعمل جدول يحتوي على حقلين الأول Name - Address وإسم الجدول Emp

إحفظ هذا الملف بإسم Data.mdb  

*********************************

ماسنفعله الآن برنامج على الفجوال بيسك يقوم بتخزين بيانات داخل قاعدة البيانات Data.mdb وإذا قمنا بالخروج من البرنامج يتم تخزين كل المدخلات الجديده في قاعدة أخرى Backupdata.mdb أما إذا أدخلنا بيانات كثيرة وأردنا التراجع عن جميع ماقمنا بإدخاله منذ تشغيل البرنامج فإننا نقوم بالضغط على BackUpDataويتم ذلك

الآن في الفجوال بيسك على الفورم قم بعمل التالي

3Command : Add,CMD_Add*Exit,CMD_EXT*BackUpData,CMD_BAKUP

2TextBox : TXT_Name*TXT_Adrs

الآن في الجينيرال نعرف قلعدة البيانات والجدول

Dim db As Database
Dim rs As Recordset

في الفورم لود أي عند التحميل يجب أن نعمل مايلي :

Private Sub Form_Load()
On Error Resume Next
'نضع هذه الجمله لآن هناك أخطاء ممكنه وهي أن لايكون هناك قاعده بيانات يمكن حذفها
Kill App.Path & "\BackUpData.mdb"
'حذف القاعده القديمه للتراجع ولو أنها لن تكون موجوده ولكن الأفضل أن نكون حريصين
FileCopy App.Path & "\Data.mdb", App.Path & "\BackUpData.mdb"
'نسخ القاعدة الحاليه وتسميتها بإسم Backupdata.mdb
Set db = OpenDatabase(App.Path & "\Data.mdb")
'خلق المتغير وتعريفه على القاعده
Set rs = db.OpenRecordset("Emp")
'تعريف المتغير على الجدول المراد فتحه
rs.MoveFirst
'وضع المؤشر في أول ملف في الجدول
End Sub

في كبسة الإضافه نكتب مايلي
Private Sub CMD_ADD_Click()
rs.AddNew
rs(0) = Txt_Name.Text
'هنا للإضافه بالحقل الأول ونكتب بهذه الصيغه لكي لانتطرق لإسم الحقل وهو Name
rs(1) = TXT_Adrs
rs.Update
End Sub
في كبسه التراجع عن جميع ماقمنا بإدخاله اليوم نكتب
Private Sub CMD_BAKUP_Click()
Set rs = Nothing
'إنهاء هذا المتغير لإغلاق الجدول
Set db = Nothing
'هنا لإعلاق القاعده ولو لم تكتب هذا السطر لن يتم حذف القاعده لآنها مازالت مفتوحه
Kill App.Path & "\Data.mdb"
'حذف ملف قاعدة البيانات
FileCopy App.Path & "\BackUpData.mdb", App.Path & "\Data.mdb"
'نسخ الملف الذي نسخناه بالأول مكان الملف الذي قمنا بحذفه وهو الملف الذي أخطأنا بتعبئته مثلا
Set db = OpenDatabase(App.Path & "\Data.mdb")
'مره أخرى نقوم بفتح الملف ليبدوا الأمر عاديا
Set rs = db.OpenRecordset("Emp")
rs.MoveFirst
End Sub
عند إغلاق البرنامج أضن أنكم فهمتم الفكرة صح ؟؟؟
Private Sub CMD_EXT_Click()
On Error Resume Next
Set rs = Nothing
Set db = Nothing

Kill App.Path & "\BackUpData.mdb"
FileCopy App.Path & "\Data.mdb", App.Path & "\BackUpData.mdb"
End
End Sub