تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
استخدام savefiledailog و Openfiledailog لنسخ واستعادة قاعدة البيانات اكسس
#1
Shocked 
السلام عليكم ورحمة الله وبركاته

عندي سؤال بخصوص اخذ نسخة حتياطيه لقاعدة البيانات من نوع اكسس 2010

الكود شغال معاي ميه الميه ولكن سؤالي هنا ما هو التعديل المناسب على الكود التي تجعل من المستخدم باماكنه تحديد مكان النسخة الاحتياطيه لقاعدة البيانات لحفظها باستخدام SaveFileDailog

الكود:
PHP كود :
Private Sub btn_backup_Click(sender As ObjectAs EventArgsHandles btn_backup.Click

        Dim portfolioPath 
As String My.Application.Info.DirectoryPath

        FileCopy
(portfolioPath "\db.accdb""C:\users\khalid\desktop\bakdb.accdb")

        
MsgBox("Backup has been taken Successfully on Desktop"

نلاحظ ان الـ Source وهو portfoliopath هو مكان قاعدة البيانات و الــ Destination الوجهه هي حفظ النسخة بشكل مباشر على سطح المكتب.

انا اريد فقط المرونه في اختيار مكان النسخة الاحتياطيه باستخدام مربع الحوار Savefiledailog لاضافة طابع مرن للمستخدم بتحديد مكان حفظ نسخته الاحتياطيه.

وبالمثل في طرية استعادة النسخه الاحتياطيه باستخدام Openfiledailog

وهذا كود استعادة النسخة الاحتياطيه:

PHP كود :
Try
            
Dim portfolioPath As String My.Application.Info.DirectoryPath
            
If MessageBox.Show("Restoring the database will erase any changes you have made since you last backup. Are you sure you want to do this?"_
                        
"Confirm Delete"_
                        MessageBoxButtons
.OKCancel_
                        MessageBoxIcon
.Question_
                        MessageBoxDefaultButton
.Button2) = Windows.Forms.DialogResult.OK Then


                
'Restore the database from a backup copy.
                ' 
FileCopy("D:\backupdatabase\databasebackupfile.accdb"portfolioPath "\db.accdb")
                
FileCopy("C:\users\khalid\desktop\bakdb.accdb"portfolioPath "\db.accdb")
                
MsgBox("Database Restoration Successful")
                
ds.Clear()
                
adpter.Fill(ds"tb")

            
End If

        Catch 
ex As Exception
            Dim MessageString 
As String "Report this error to the system administrator: " ControlChars.NewLine ex.Message
            Dim TitleString 
As String "Employee Master Details Data Load Failed"
            
MessageBox.Show(MessageStringTitleStringMessageBoxButtons.OKMessageBoxIcon.Error)
        
End Try 

والسلام عليكم ورحمه الله وبركاتهSmile
الرد
تم الشكر بواسطة:
#2
وعليكم السلام
تفضل أخوي هذا الكود ضعه في Button Big Grin
كود :
SaveFileDialog1.Filter = "Access 2007 (*.accdb)|*.accdb|All files (*.*)|*.*"


        If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.Cancel Then
            'في الديالوج Cancel إلغاء عملية الحفظ عند إختيار
            Exit Sub
        Else

            Try

                Dim SavePath As String = SaveFileDialog1.FileName
                FileCopy(Application.StartupPath & "\bakdb.accdb", SavePath)

            Catch ex As Exception

                MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")

            End Try

            MsgBox("Backup has been taken Successfully")

        End If

بالتوفيق Shy
الرد
تم الشكر بواسطة:
#3
ممتاز اخي جميل جدا اشتغل معاي 100% مثل ما اردت

وهذا الكود لاستعادة قاعدة البيانات باستخدام Openfiledailog بالتعديل الطفيف على كود الاخ عمر

PHP كود :
OpenFileDialog1.Filter "Access 2010 (*.accdb)|*.accdb|All files (*.*)|*.*"


        
If OpenFileDialog1.ShowDialog Windows.Forms.DialogResult.Cancel Then
            
'في الديالوج Cancel إلغاء عملية الحفظ عند إختيار
            Exit Sub
        Else

            Try

                Dim openPath As String = OpenFileDialog1.FileName
                FileCopy(openPath, Application.StartupPath & "\db.accdb")

            Catch ex As Exception

                MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")

            End Try

            MsgBox("Backup has been Restored Successfully")
            ds.Clear()
            adpter.Fill(ds, "tb")
        End If 

Smile شكرا جزيل واتمنى ان يستفيد الجميع ...
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] مشغل قواعد البيانات sql , mysql محمد اسماعيل 2 27 20-04-19, 12:32 PM
آخر رد: محمد اسماعيل
  [VB.NET] قاعدة بيانات postgress tarek 2 132 06-04-19, 09:07 PM
آخر رد: elgokr
  التكرار عند استخدام دالة الcount عبدالله .. 1 61 06-04-19, 09:05 PM
آخر رد: elgokr
  كود تصفير عمود في جدول اكسس samira20 1 68 31-03-19, 09:02 PM
آخر رد: بدري
  [SQL] مشكلة في ربط قاعدة البيانات SQLSERVER2014 بـ فيجول بيسك 2017 اباذر 4 180 16-03-19, 12:00 AM
آخر رد: اباذر
  طريقة ادخال اعداد تحتوي على فاصلة في قاعدة البيانات segma 21 505 12-03-19, 10:23 PM
آخر رد: segma
  [VB.NET] البحث عن مسار مجلد ضمن قاعدة البيانات اكسس وفتحه من الفورم EMADSSS 1 155 21-02-19, 04:38 PM
آخر رد: elgokr
  (سؤال؟)كود اضافة التاريخ في قاعدة البيانات اسمهان 1 197 20-02-19, 11:08 AM
آخر رد: alfaiz678
  [VB.NET] فتح مسار مجلد موجود بقاعدة البيانات خاص بكل اسم EMADSSS 0 130 13-02-19, 01:03 AM
آخر رد: EMADSSS
  قاعدة بيانات بيانات ال sql مع الفجوال 2008 raaddawood 0 195 02-02-19, 11:16 AM
آخر رد: raaddawood

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم