بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
نعم .........النسخ الاحتياطي لقاعدة البيانات .......عندما تكون الجداول بقاعدة وباقي مكونات قاعدة البيانات بقاعدة اخرى.. وبينهما ارتباط
بحثت في منتدانا الكريم ووجدت العديد من الامثلة.........ولكن مااريده للاسف لم اجده في اي شرح سابق
ببساطة
قمت بارفاق مثالين
1- المثال الاول Q100
هو عبارة عن قاعدة البيانات ( الجداول هنا موجودة ضمن القاعدة) عملية النسخ الاحتياطي تتم الى القرص D بفهرس اسمه Backup kafi ويتم تفريع مجلد باسم السنة الحالية، وبداخل هذا المجلد يوجد مجلد آخر برقم الشهر الحالي......وبداخله تتوضع النسخة حاملة بجانب اسمها، تاريخ يوم النسخ
كل الامور .......كما ترونها تعمل بشكل رائع وممتاز .......
2- المثال الآخر Q101
قمت هنا بفصل الجداول عن باقي مكونات القاعدة، وسميت قاعدة الجداول باسم Data 2014
سؤالي :
هو كيف استطيع ان انسخ القاعدة التي بها الجداول ؟
قد يقول احد الزملاء، كما نسخت في المثال الاول طبقه على المثال الثاني
اقول وهذا ما لم اجده في اي موضوع سابق ان الملف الذي به الجداول .......ليس بالضرورة ان يكون اسمه Data 2014 فقد يسميه المستثمر للبرنامج باسم Data_Factory_2014 او باسم Data_Personal_2014
Dim strPath As String
Dim stDocName As String
Dim x, x1, dbname, stLinkCriteria, CurrentFilePath As String
Dim idx As Integer
Dim fso
Dim hard_name As String
Dim year1, month1 As String
year1 = Format(Date, "yyyy")
month1 = Format(Date, "mm")
hard_name = DLookup("[store_hard_Name]", "Primary")
x = Application.CurrentProject.Name
x1 = Right(x, 6)
For idx = Len(x) To 1 Step -1
If Mid(x, idx, 1) = "." Then Exit For
Next idx
dbname = Left(x, idx - 1)
x = dbname & " " & Format(Date, "d-m-yyyy") & x1
strPath = hard_name & "\Backup Kafi\" & year1 & "\" & month1
If Not IsExist(hard_name & "\Backup Kafi", vbDirectory) Then MkDir hard_name & "\Backup Kafi"
If Not IsExist(hard_name & "\Backup Kafi\" & year1, vbDirectory) Then MkDir hard_name & "\Backup Kafi\" & year1
If Not IsExist(hard_name & "\Backup Kafi\" & year1 & "\" & month1, vbDirectory) Then MkDir hard_name & "\Backup Kafi\" & year1 & "\" & month1
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFile Application.CurrentProject.Path & "\" & Application.CurrentProject.Name, strPath & "\" & x
Set fso = Nothing
stDocName = "Caution_Backup"
DoCmd.openform stDocName, , , stLinkCriteriaاعرف ان التغيير يجب ان يكون بالسطر التالي من الكود المستخدم وهو
fso.CopyFile Application.CurrentProject.Path & "\" & Application.CurrentProject.Name, strPath & "\" & x
المشكلة هو معرفة اسم القاعدة التي بها الجداول والتي هي مرتبطة بالقاعدة الاساسية للبرنامج، ليتم كتابة اسمها بدلاً من Application.currentproject.Name
ارجو الاطلاع على المثالين المرفقين
ومحاولة جعل زر النسخ الاحتياطي في المثال Q101 قادر على نسخ القاعدة المربوطة مهما كان اسمها الى المسار المذكور اعلاه
والف شكر
كلمة السر 1