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

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

'زر الريستور
op.startOperation(Me) ' هنا قمنا بإستدعاء كلاس إيقاف الفورم عن العمل لبدء عملية إستعادة الباك اب حتى لا نقع بمشاكل
If File.Exists(src) Then
File.Delete(src)
End If
File.Copy(resSrc, Application.StartupPath & "\DB_Sport.accdb")
op.EndOperation(Me) ' هنا قمنا بإستدعاء كلاس إنـهاء إيقاف الفورم عن العمل بعد عملية إستعادة الباك اب حتى لا نقع بمشاكل
MsgBox("تمت عملية الإستعادة بنجاح", MsgBoxStyle.Information, "إنتباه")
txtRestore.Text = ""
Me.Close()

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


كود :
        If textfilerestore.Text = "" Then
            Exit Sub
        End If

        If textfilerestore.Text.Contains("db.bak") = False Then
            MsgBox("قاعده البيانات المختارة غير متوافقة مع المطلوب استرجاعها", MsgBoxStyle.Critical, "تحذير")
        End If