(23-09-18, 08:30 PM)elgokr كتب :اخى الحبيب النسخة الاحتياطية لقاعدة البيانات من نوع Accessلا يحتاج الى اكواد وما غيره لتقول بعمل نسخة احتياطية
حتى ابسط الامر لك تخيل ان قاعدة البيانات ملف او صورة او اى شئوانت تريد عمل نسخ الملف من مكان الى مكان من خلال البرنامج
طيب عشان اقوم بعمل ذلك مع قاعدة البيانات من نوع Accessما المطلوب فعله تماماً
اذا كنت تريد عمل نسخة احتياطية كل يوم مرة واحدةفهنا يجب ان تقوم بعمل حقل فى Settings يكون تحت اسم وليكن BupDBويكون من نوع تاريخ وسيكون القيمة الافتراضية تاريخ اليوم مثلاً
طيب الان قمنا بعمل هذا ماذا بعد ذك
قبل اتمام عمل النسخ ستحتاج لكود يقوم بالتحقق هل الاتصال بقاعدة البياناتمغلق ام لا واذا كان لا فيجب عليك تنفيذ امر الاغلاق
جميل حتى الان الكود بسيط ويمكننا فعل ذلكطيب ماذا بعد ذلك كل الفكرة والامر هو تنفيذ كود نسخ قاعدة البيانت الى مسار ثابت
طيب كيف يمكننى فعل الكود كاملاًالامر كالتالى سيكون الكود بهذا الشكل اذا كان فى واجهة فتح البرنامج
او فى جميع الشاشات البرنامج فكما تشاء اين تريد وضع الكود
كود :
REM كود التحقق من التاريخ اخر سحب نسخة باكس اب اصبح اصغر من التاريخ الحالى
If My.Settings.BupDB < Now.Date Then
REM كود اغلاق الاتصال بقاعدة البيانات
If con.State = ConnectionState.Open Then con.Close()
REM هذا السطر يقوم بالتحقق بمسار مجلد الاحتفاظ بنسخة قاعدة البيانات الا كان غير موجود يقوم بانشاء المجلد
If (Not System.IO.Directory.Exists("C:\Backup\")) Then IO.Directory.CreateDirectory("C:\Backup\")
REM اتمام عملية نسخ قاعدة البيانات
My.Computer.FileSystem.CopyFile(Application.StartupPath & "/NameDB.accdb", "C:\Backup\BupDB-" & Now.Date.ToString("dd-MM-yyyy") & ".accdb", True)
End If
القى نظرة لهذا الكود يحتوى على الشرحكل ما عليك فقط تغيير مسمى قاعدة البيانات التى لديكوالمسمى والمسار المطلوب حفظ به قاعدة البيانات
وبكده تكون انهيت عمل النسخة الاحتياطية لقاعدة البيانات
تحياتى لكوتمنياتى لك التوفيق
جزاك الله خيراً أخي الحبيب، قمت بعمل الخطوات في Settings ثم انتقلت لكتابة الكود في الفورم، الكود بالكامل سليم عدا أن السطر التالي ظهر فيه خطأ ، اعتقد بسبب أنني ربطت قاعدة البيانات بالأدوات كما ذكرت لي من قبل وليس بالكود فلذلك هُناك مُشكلة في قناة الأتصال.
PHP كود :
If con.State = ConnectionState.Open Then con.Close()
PHP كود :
Public con As New OleDb.OleDbConnection
Public cmd As New OleDb.OleDbCommand
ثُم عدلت في المسارات وجعلتها على قرص D والحمد لله بفضل الله ثم بفضلك تم نسخ قاعدة البيانات، هذا هو الكود بعد التعديل
PHP كود :
REM كود التحقق من التاريخ اخر سحب نسخة باكس اب اصبح اصغر من التاريخ الحالى
If My.Settings.BupDB < Now.Date Then
REM كود اغلاق الاتصال بقاعدة البيانات
If con.State = ConnectionState.Open Then con.Close()
REM هذا السطر يقوم بالتحقق بمسار مجلد الاحتفاظ بنسخة قاعدة البيانات الا كان غير موجود يقوم بانشاء المجلد
If (Not System.IO.Directory.Exists("D:\Backup\")) Then IO.Directory.CreateDirectory("D:\Backup\")
REM اتمام عملية نسخ قاعدة البيانات
My.Computer.FileSystem.CopyFile(Application.StartupPath & "/A18.accdb", "D:\Backup\BupDB-" & Now.Date.ToString("dd-MM-yyyy") & "A18.accdb", True)
End If
عن أبي هريرة - رضي الله عنه - قال: قال رسول الله - صلى الله عليه وسلم -: ((كلمتان خفيفتان على اللسان، ثقيلتان في الميزان، حبيبتان إلى الرحمن: سبحان الله وبحمده، سبحان الله العظيم))؛ متفق عليه.
