• 0
alaaaboulela

إستفسار: لماذا بعد كل عملية نسخ احتياطي للملفات يتم إلغاء الحماية ( كلمة السر ) لملف الاكسيس

سؤال

الأساتذة الكرام ...

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

لماذ بعد كل عملية نسخ إحتياطي backup file لملف محمي بكلمة سر يتم إلغاء كلمة السر للملف الجديد 

نأمل الإفادة وكيف يتم تفادي المشكلة وعند النسخ الإحتياطي يكون الملف الإحتياطي محمي بكلمة السر ...

ملحوظه : الكود من ضمن سلسلة ابداع الاستاذة / زهرة بارك الله فيها ....

Option Compare DatabaseOption ExplicitPublic Function Backup()On Error GoTo Error_HandlerDim sFile As String, oDB As DAO.DatabaseDim strCurrentName As StringDim oTD As TableDefDim qDF As QueryDefDim obj As AccessObjectstrCurrentName = Application.CurrentObjectNamesFile = CurrentProject.Path & "\" & Left(CurrentProject.name, Len(CurrentProject.name) - 6) & " " & Format(date, "dd-mm-yyyy") & ".accdb"If Dir(sFile) <> "" Then Kill sFileSet oDB = DBEngine.Workspaces(0).CreateDatabase(sFile, dbLangGeneral)'ÇáÌÏÇæáFor Each oTD In CurrentDb.TableDefsIf Left(oTD.name, 4) <> "MSys" ThenDoCmd.TransferDatabase acExport, "Microsoft Access", sFile, acTable, oTD.name, oTD.name, FalseEnd IfNext oTD'ÇáÇÓÊÚáÇãÇÊFor Each qDF In CurrentDb.QueryDefsIf Left(qDF.name, 1) <> "~" ThenDoCmd.TransferDatabase acExport, "Microsoft Access", sFile, acQuery, qDF.name, qDF.name, FalseEnd IfNext qDF'ÇáäãÇÐÌFor Each obj In CurrentProject.AllFormsDoCmd.TransferDatabase acExport, "Microsoft Access", sFile, acForm, obj.name, obj.name, FalseNext obj'ÇáÊÞÇÑíÑFor Each obj In CurrentProject.AllReportsDoCmd.TransferDatabase acExport, "Microsoft Access", sFile, acReport, obj.name, obj.name, FalseNext obj'ÇáãÇßÑæFor Each obj In CurrentProject.AllMacrosDoCmd.TransferDatabase acExport, "Microsoft Access", sFile, acMacro, obj.name, obj.name, FalseNext obj'ÇáæÍÏÇÊ ÇáäãØíÉFor Each obj In CurrentProject.AllModulesDoCmd.TransferDatabase acExport, "Microsoft Access", sFile, acModule, obj.name, obj.name, FalseNext objMsgBox " ãÈÑæß ... Êã ÇäÔÇÁ äÓÎÉ ÅÍÊíÇØíÉ Ýí äÝÓ ãÌáÏ ÇáÞÇÚÏÉ ÈÊÇÑíÎ Çáíæã ", vbInformation, "BackUp"Error_Handler_Exit:On Error Resume NextSet qDF = NothingSet oTD = NothingSet obj = NothingoDB.CloseExit FunctionError_Handler:MsgBox "The following error has occured." & vbCrLf & vbCrLf & "Error Number: " & Err.Number, vbCritical, "An Error has Occured!"Resume Error_Handler_ExitEnd FunctionFunction RunSub()Call BackupEnd Function

مشكورين مقدماً

تم تعديل بواسطه alaaaboulela
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

6 إجابة على هذا السؤال .

  • 0

الحمد لله تحصلت على الكود التالي احببت ان انقله هنا ليستفيد به الزملاء المهتمين بالأمر (المصدر / ا/  كابون - اوفسينا )

يقوم بعمل نسخة احتياطية من الملف لمجرد غلق الفورم الذي اقوم بوضعه به كل ما عليك هو عمل فولدر بأسم access على بارتشن D ليحفظ فيه النسخة الإحتياطية

Option Compare DatabasePrivate Sub Form_Close()On Error Resume Next '-------      by caboon    -----Dim OldFile As String, DBwithEXT, DBwithoutEXT, NewFile As String, CopyMyDBOldFile = [StrOld]DBwithEXT = Dir(OldFile)DBwithoutEXT = Left(DBwithEXT, Len(DBwithEXT) - 4)If [BKUP] = True ThenNewFile = Me.StrNew & "\" & DBwithoutEXT & "-" & Format(Date, "yyyy-mm-dd") & "-" & Format(Now(), "Hh-Nn-Ss-AMPM") & Right(DBwithEXT, 4)CopyMyDB = "cmd.exe /C copy " & """" & OldFile & """" & " " & """" & NewFile & """"Shell CopyMyDB, 0Exit SubEnd IfEnd SubPrivate Sub Form_Load()[StrOld] = CurrentDb.Name[StrNew] = "D:\Access\"End Sub

اكرر شكري واتمناني لك استاذتي الكريمة بارك الله فيكي وفي صحتك وعمرك .

 

student2.rar

تم تعديل بواسطه alaaaboulela
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

up

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

up

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخي الفاضل 

 

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

 

كود النسخ الإحتياطي يعمل بشكل صحيح ولا يوجد به اي مشكله

 

ولكن تكمن المشكله في عدم قراءتك للكود بشكل صحيح

 

لاحظ معي بارك الله بك ان هذا الكود لا علاقة له بأي كلمة سر لقاعدة البيانات وانما فقط يقوم بعمل التالي

 

1.  يقوم بإنشاء قاعدة بيانات جديده كليا وفارغة من اي كائنات بنفس اسم القاعدة التي تعمل عليها مع اضافة تاريخ اليوم في نفس مسار قاعدة البيانات

 

sFile = CurrentProject.Path & "\" & Left(CurrentProject.name, Len(CurrentProject.name) - 6) & " " & Format(date, "dd-mm-yyyy") & ".accdb"
 
Set oDB = DBEngine.Workspaces(0).CreateDatabase(sFile, dbLangGeneral)
 
لاحظ جملة  CreateDatabase
 
2. بعد انشاء قاعدة البيانات الجديده على نفس المسار يتم تصدير كافة كائنات قاعدة البيانات التي تعمل عليها الى القاعدة الجديده
 
DoCmd.TransferDatabase acExport
 
 
 
لذا حاول البحث في المنتدى عن موضوع نسخ احتياطي 
 
 
بالتوفيق
تم تعديل بواسطه zahrah
1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اشكرك استاذتي الكريمة على الاهتمام والرد جزاك الله كل خير ....

فانا لا اعيب على الكود بالعكس فهو يعمل بكفاءة وبأحسن ما يكون ولكن كل ما اقصده هل يمكن التعديل عليه  لكي يحمي قاعدة البيانات ؟؟؟!!!!

ولكن لا بأس سأبحث عن الكود ان شاء الله ..

تم تعديل بواسطه alaaaboulela
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .