تقييم الموضوع :
  • 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 شكرا جزيل واتمنى ان يستفيد الجميع ...
الرد
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  مشكلة قاعدة البيانات لا تقبل البيانات بعد التنصيب abozeyd 8 176 10-09-18, 08:02 AM
آخر رد: elgokr
  سؤال حول عرض البيانات في الداتا جريد والاستعلام alfaiz678 12 444 25-08-18, 10:00 PM
آخر رد: elgokr
  [سؤال] حول تحديث البيانات داخل DataGridView مبرمج بلا حدود 20 3,489 14-08-18, 09:00 PM
آخر رد: elgokr
  كيفية حفظ التعديل في Data Grid View مباشرا الى قاعدة البيانات اللورد محمود 1 252 02-08-18, 07:26 PM
آخر رد: سعود
  [سؤال] كيفية ربط قاعدة بيانات اكسس 2007 بالفيجوال 2008 mohmedhosen 3 5,241 16-07-18, 08:48 PM
آخر رد: aridje34
  خطأ في الإتصال بقاعدة البيانات الموجودة على هذا السيرفر (ويندوز 10) djelloul 0 170 04-05-18, 12:14 AM
آخر رد: djelloul
  بحث و اظهار سجلات من قاعدة البيانات في حال تساوت اول 4 ارقام من text بالقيمه الموجود ahmed_elwerfalli 0 198 25-04-18, 04:12 PM
آخر رد: ahmed_elwerfalli
Tongue ربط قاعدة بينات اكسل مع الفيجوال عمار عيثاوي 3 2,305 02-03-18, 05:13 PM
آخر رد: محمد بن عطية
  إضافة الصورة في قاعدة البيانات iFanfan 0 283 01-03-18, 06:02 PM
آخر رد: iFanfan
  كيف يمكن نسخ جدول من قاعدة بيانات الي اخري atefkhalf2004 9 379 30-01-18, 02:59 PM
آخر رد: atefkhalf2004

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


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