تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[نقاش] تعديل على كود نسخ واسترجاع قاعدة البيانات نوع اكسس
#1
Lightbulb 
بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته 

اخوتي في الله حياكم الله وبياكم وللجنة سهل الله خطاكم 
وجدت كود لنسخ واسترجاع قاعدة البيانات بأي امتداد تريده سواء 2003 او 2007 فما فوق 
وهو يعمل 100% ولله الحمد والمنه 
حسب ما جربته   

لكن فيه عيوب وارغب بمعالجتها وهي :-
1- عند استعادة قاعدة البيانات لاتظهر البيانات الجديدة الا بعد اطفاء وتشغيل البرنامج من جديد . كيف اعالج هذه المشكلة ؟؟!!

2- اريد اظهار اسم القاعدة التي قمت بإستدعائها وعرضه في ليبل على عدد من الفورمات في المشروع ويبقى هذا الاسم ما بقيت القاعدة ويتغير بتغير القاعدة ؟؟!! 

هذا المشروع 

ملاحظة ارفقت كود النسخ والاسترجاع فقط 

ارجوا الحل جزاكم الله خير وباركـ الله فيكم
وجعله الله في موازين حسناتكم
الرد }}}}
تم الشكر بواسطة:
#2
جواب السؤال الاول: لابد من وضع اجراء الربط بالبيانات مستقلا وتستطيع مناداته باي حدث.
جواب السؤال الثاني: نفس الجواب الاول ضع اجراء عمومي في موديول او كلاس وقم بمناداته عند كل حاجة.

للمعلومية فقط المثال هو نسخ ملف ايا كان نوعه.
أستودعكم الله الذي لا تضيع ودائعه أرجو ان تجدوا بمشاركاتي ما يجعلكم تدعون لي بخير ان تحتم غيابي.
رحمك الله أبا الليث
الرد }}}}
تم الشكر بواسطة: مبرمج بلا حدود
#3
سلام

في كل الاحوال لازم تغلق الاتصال فور الانتها من العمل معه
ولو تستخدم في الاجرا using conn as new oledb.oledbconnection يكون اضمن

لاحظ بعد الاستعاده لازم تحدث الداتاجريد

هذا موديول فيه اكواد النسخوالاسترجاع
كود :
Module mdlBackRestore

   Public connectionString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Database1.accdb;Jet OLEDB:Database Password=123456790"


   Public Sub Backup(Optional ByVal defaultDirectory As String = "")
       Try

           Using sv As New SaveFileDialog
               sv.Title = "عمل نسخة احتياطية"
               sv.Filter = "Backup (*.bak)|*.bak"

               sv.FileName = "backup" & Now.ToString("-yyyyMMdd-HHmmss") & ".bak"

               sv.InitialDirectory = defaultDirectory

               If sv.ShowDialog = vbOK Then
                   Dim dataSource As String = New OleDb.OleDbConnectionStringBuilder(connectionString).DataSource
                   FileCopy(dataSource, sv.FileName)
                   MsgBox("تم عمل نسخة احتياطية بنجاح")
               End If

           End Using

       Catch ex As Exception
           MsgBox(ex.Message)
       End Try
   End Sub


   Public Sub Restore(Optional ByVal defaultDirectory As String = "")
       Try

           Using op As New OpenFileDialog
               op.Title = "استعادة نسخة احتياطية"
               op.Filter = "Backup (*.bak)|*.bak"

               op.InitialDirectory = defaultDirectory

               If op.ShowDialog = vbOK Then
                   Dim dataSource As String = New OleDb.OleDbConnectionStringBuilder(connectionString).DataSource
                   FileCopy(op.FileName, dataSource)
                   Dim db As String = IO.Path.GetFileNameWithoutExtension(op.FileName)
                   MsgBox("تمت استعادة نسخة احتياطية بنجاح" & vbNewLine & db)
               End If

           End Using

       Catch ex As Exception
           MsgBox(ex.Message)
       End Try
   End Sub


End Module
الكود مجرب

موفقين
متغيب
الرد }}}}
تم الشكر بواسطة: مبرمج بلا حدود
#4
(04-08-15, 09:44 AM)سعود كتب : جواب السؤال الاول: لابد من وضع اجراء الربط بالبيانات  مستقلا وتستطيع مناداته باي حدث.
جواب السؤال الثاني: نفس الجواب الاول ضع اجراء عمومي في موديول او كلاس وقم بمناداته عند كل حاجة.

للمعلومية فقط المثال هو نسخ ملف ايا كان نوعه.

جزاكـ الله خير اخي 
ممكن توضيح اكثر ربي يحفظكـ ويرضى عنكـ Blush

(04-08-15, 01:16 PM)الطالب كتب : سلام

في كل الاحوال لازم تغلق الاتصال فور الانتها من العمل معه
ولو تستخدم في الاجرا using conn as new oledb.oledbconnection يكون اضمن

لاحظ بعد الاستعاده لازم تحدث الداتاجريد

هذا موديول فيه اكواد النسخوالاسترجاع
كود :
Module mdlBackRestore

   Public connectionString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Database1.accdb;Jet OLEDB:Database Password=123456790"


   Public Sub Backup(Optional ByVal defaultDirectory As String = "")
       Try

           Using sv As New SaveFileDialog
               sv.Title = "عمل نسخة احتياطية"
               sv.Filter = "Backup (*.bak)|*.bak"

               sv.FileName = "backup" & Now.ToString("-yyyyMMdd-HHmmss") & ".bak"

               sv.InitialDirectory = defaultDirectory

               If sv.ShowDialog = vbOK Then
                   Dim dataSource As String = New OleDb.OleDbConnectionStringBuilder(connectionString).DataSource
                   FileCopy(dataSource, sv.FileName)
                   MsgBox("تم عمل نسخة احتياطية بنجاح")
               End If

           End Using

       Catch ex As Exception
           MsgBox(ex.Message)
       End Try
   End Sub


   Public Sub Restore(Optional ByVal defaultDirectory As String = "")
       Try

           Using op As New OpenFileDialog
               op.Title = "استعادة نسخة احتياطية"
               op.Filter = "Backup (*.bak)|*.bak"

               op.InitialDirectory = defaultDirectory

               If op.ShowDialog = vbOK Then
                   Dim dataSource As String = New OleDb.OleDbConnectionStringBuilder(connectionString).DataSource
                   FileCopy(op.FileName, dataSource)
                   Dim db As String = IO.Path.GetFileNameWithoutExtension(op.FileName)
                   MsgBox("تمت استعادة نسخة احتياطية بنجاح" & vbNewLine & db)
               End If

           End Using

       Catch ex As Exception
           MsgBox(ex.Message)
       End Try
   End Sub


End Module
الكود مجرب

موفقين

السلام عليكم ورحمة الله وبركاته 
جزاكـ الله خير اخي 
طيب اخي هذا كود لعمل نسخة واسترجاعها 
طيب وبخصوص عرض الاسم وتحديث البيانات 
ولدي استفسار اخر ايهما افضل هذا الكود ام الكود الذي وضعته انا في البداية اقصد بداية الموضوع
جزاكـ الله خير
الرد }}}}
تم الشكر بواسطة:
#5
اخي الكريم مارايك بالفكرة بالمشروع




الملفات المرفقة
.zip   OptionalThings.zip (الحجم : 91.53 ك ب / التحميلات : 105)
أستودعكم الله الذي لا تضيع ودائعه أرجو ان تجدوا بمشاركاتي ما يجعلكم تدعون لي بخير ان تحتم غيابي.
رحمك الله أبا الليث
الرد }}}}
تم الشكر بواسطة: مبرمج بلا حدود
#6
(08-08-15, 07:09 PM)سعود كتب : اخي الكريم مارايك بالفكرة بالمشروع



جزاكـ الله خير وباركـ الله فيكـ 
وجعله الله في موازين حسناتكـ 
ربي يحفظكـ تم الذهاب الى الموضوع والرد هناكـ 
Sleepy
الرد }}}}
تم الشكر بواسطة: سعود
#7
لقد ذكرت سبب الخطا الذي نبهتني له وكتبت الحل هناك.
أستودعكم الله الذي لا تضيع ودائعه أرجو ان تجدوا بمشاركاتي ما يجعلكم تدعون لي بخير ان تحتم غيابي.
رحمك الله أبا الليث
الرد }}}}
تم الشكر بواسطة: مبرمج بلا حدود


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] كيفية حفظ ملف pdf في قاعدة بيانات sql abid 5 4,619 10-05-17, 03:13 PM
آخر رد: safalo
  ظهور خطا عند سحب البيانات وعرضها في الداتا كريد باستخدم الـــ Threading HATEM KAREM 0 87 06-05-17, 04:45 PM
آخر رد: HATEM KAREM
  المساعدة في عمل استعلام قاعدة بيانات sqlserver djelloul 0 69 17-04-17, 07:13 PM
آخر رد: djelloul
  [VB.NET] مشكله عند الحفظ على قاعدة بيانات باستخدام Data Source وقاعدة بيانات اكسس2007 coderarab 8 853 03-04-17, 02:48 AM
آخر رد: ابو إياد
  استفسار حول عدم تكرار البيانات المتألق9 3 152 02-04-17, 03:38 AM
آخر رد: حريف برمجة
  جلب البيانات من ملف txt djelloul 7 186 28-03-17, 03:20 PM
آخر رد: djelloul
  تحويل ملف اكسس mdb الي sql server 2008 r2 atefkhalf2004 0 106 19-03-17, 08:17 PM
آخر رد: atefkhalf2004
  [سؤال] طلب صيغة عامة أو وظيفة لأضافة بيانات لقاعدة البيانات ؟ عبد الله 2 155 10-03-17, 09:36 AM
آخر رد: عبد الله
  سرعة ادخال البيانات داخل ملف اكسس atefkhalf2004 1 169 05-03-17, 04:06 AM
آخر رد: thevirus
  استعادة قاعدة البيانات من ملف النسخة الإحتياطية djelloul 2 171 28-02-17, 03:27 PM
آخر رد: djelloul

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


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