منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : استفسار
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
كيف أحفظ نسخة احتياطية باستخدام الفيجوال بيسك على جهازين بينهم شبكة داخلية لأنة الملف هام واكون شاكر ومقدر لكم
الكود اللي استخدمه


كود :
       If Not System.IO.File.Exists("backup\Backup_DataBase.accdb") Then
           

               System.IO.File.Copy("DataBase.accdb", "backup\Backup_DataBase.accdb")
               MsgBox("""Backup"" : تم اخذ نسخة احتياطية في داخل مجلد")
           End If
جربت اطبق الكود دائما يطلع خطأ
تاكد من مسار قاعدة البيانات ومسار الحفظ
كود :
If Not System.IO.File.Exists("مسار مجلد حفظ الباك اب") Then
           

               System.IO.File.Copy("قاعدة البيانات", "مجلد حفظ الباك اب")
               MsgBox("""Backup"" : تم اخذ نسخة احتياطية في داخل مجلد")
           End If
أخي العزيز نيمو

لو تعدل الكود بشكل احترافي راح يكون أفضل بكثير
يعني مثلا تستخدم له أداة SaveFileDialog1

ويكون اسم النسخة الاحتياطية بتاريخ اليوم ، بالإضافة إلى الوقت ؛ وذلك حتى لا يحدث تكرارًا لاسم الملف المحفوظ وبالتالي تحدث أخطاء .
(02-06-22, 12:48 PM)أبو خالد الشكري كتب : [ -> ]أخي العزيز نيمو

لو تعدل الكود بشكل احترافي راح يكون أفضل بكثير
يعني مثلا تستخدم له أداة SaveFileDialog1

ويكون اسم النسخة الاحتياطية بتاريخ اليوم ، بالإضافة إلى الوقت ؛ وذلك حتى لا يحدث تكرارًا لاسم الملف المحفوظ وبالتالي تحدث أخطاء .

احسنت بالضبط الافضل يكون بتاريخ اليوم واداة سيف فايل
انا اعطيته كود الباك اب وكل شخص وابداعاته Smile 

[صورة مرفقة: 165416061928341.png]
مرحبًا بالجميع


هذا نموذج من تأليفي لنسخ قاعدة البيانات
على افتراض أن قاعدة البيانات اسمها Test
فقط قم بتغيير هذا الاسم إلى اسم قاعدة البيانات التي يعمل عليها برنامجك

وعيش حياتك Smile
كود :
       Dim myDataBaseName As String = "Test" ' اكتب اسم قاعدة البيانات الافتراضي
       Dim ThisDay As String = " (Date " & Today.Day & "_" & Today.Month & "_" & Today.Year & " Time " & My.Computer.Clock.LocalTime.ToString("hh_mm_ss") & ")"
       Dim MyBackupFileName As String = myDataBaseName & ThisDay & ".accdb"

       SaveFileDialog1.Filter = "Backup Database (*.accdb)|*.accdb"
       SaveFileDialog1.FileName = MyBackupFileName
       SaveFileDialog1.Title = "إنشاء نسخة احتياطية لقاعدة البيانات"
       SaveFileDialog1.InitialDirectory = Application.StartupPath
       SaveFileDialog1.RestoreDirectory = True

       Dim result = SaveFileDialog1.ShowDialog()
       If result = DialogResult.Cancel Then
           Exit Sub
       End If

       My.Computer.FileSystem.CopyFile(Application.StartupPath & "\" & myDataBaseName & ".accdb", SaveFileDialog1.FileName)
       MessageBox.Show("تم نسخ قاعدة البيانات بنجاح", "نسخ قاعدة البيانات", MessageBoxButtons.OK, MessageBoxIcon.Information)
وإليكم كود استرجاع قاعدة البيانات الاحتياطية 

مع ملاحظة أنه يجب إضافة أداة SaveFileDialog1 للكود الأول الخاص بنسخ قاعدة البيانات


وإضافة أداة OpenFileDialog1 لهذا الكود الخاص باسترجاع قاعدة البيانات المحفوظة سابقا



ودمتم بخير .



كود :
Dim myDataBaseName As String = "Test" ' اكتب اسم قاعدة البيانات الافتراضي

       OpenFileDialog1.Filter = "Restore Database (*.accdb)|*.accdb"
       OpenFileDialog1.InitialDirectory = Application.StartupPath
       OpenFileDialog1.Title = "استرجاع قاعدة بيانات"
       OpenFileDialog1.FileName = ""
       OpenFileDialog1.RestoreDirectory = True

       Dim result = OpenFileDialog1.ShowDialog()
       If result = DialogResult.Cancel Then
           Exit Sub
       End If

       My.Computer.FileSystem.DeleteFile(Application.StartupPath & "\" & myDataBaseName & ".accdb")
       My.Computer.FileSystem.CopyFile(OpenFileDialog1.FileName, Application.StartupPath & "\" & myDataBaseName & ".accdb")

       MessageBox.Show("تم استرجاع قاعدة البيانات السابقة بنجاح", " استرجاع قاعدة البيانات", MessageBoxButtons.OK, MessageBoxIcon.Information)