اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

السلام عليكم 

لدي قاعدة بيانات مفصولة  اضفت لها كود عمل backup للجداول عند غلق البرنامج 

المشكلة هي انه ينشئ ملف  باكاب مربوط ب backend 

هل من طريقة لانشاء باكاب وتكون الجداول مستقلة ليست مبروطة بالملف الرئيسي 

المثال مرفق بالموضوع 

backup.zip

قام بنشر

تفضل

Dim MyFile, DstFile As String
Dim Syso As Object

MyFile = "مسار قاعدة البيانات البعيدة التي تريد انشاء نسخة احتياطية منها"
DstFile = CurrentProject.Path & "\Backup-" & Format(Now, "dd-mm-yyyy") & ".mdb"  ' هنا اسم قاعدة البيانات الجديدة 

DBEngine.Idle

Set Syso = CreateObject("Scripting.FileSystemObject")
Syso.copyfile MyFile, DstFile
Set Syso = Nothing

 

  • Like 3
قام بنشر

ماهو اسم قاعدة البيانات ؟؟

 

Dim MyFile, DstFile As String
Dim Syso As Object

MyFile = CurrentProject.Path & "\" & "autoBackup_be.mdb"
DstFile = CurrentProject.Path & "\Backup-" & Format(Now, "dd-mm-yyyy") & ".mdb"  

DBEngine.Idle

Set Syso = CreateObject("Scripting.FileSystemObject")
Syso.copyfile MyFile, DstFile
Set Syso = Nothing

الصق هذا الكود في ازرار النسخة الاحتياطية لكن تأكد من الاسم و الصيغة قبل البدء

  • Like 3
قام بنشر

طيب اتفضل هذي اضافة بسيطبة بحيث تكون النسخة الاحتياطية داخل مجلد مستقل

Dim fso                 As Object
Dim fldrname            As String
Dim fldrpath            As String
Dim MyFile, DstFile     As String
Dim Syso                As Object

Set fso = CreateObject("scripting.filesystemobject")
    fldrpath = CurrentProject.Path & "\Backup"
If Not fso.FolderExists(fldrpath) Then fso.createfolder (fldrpath)

MyFile = CurrentProject.Path & "\" & "autoBackup_be.mdb"
DstFile = CurrentProject.Path & "\Backup\Backup-" & Format(Now, "dd-mm-yyyy") & ".mdb"

DBEngine.Idle

Set Syso = CreateObject("Scripting.FileSystemObject")
    Syso.copyfile MyFile, DstFile
Set Syso = Nothing
MsgBox "تم انشاء قاعدة البيانات بنجاح" & vbNewLine & "اسم قاعدة البيانات" & vbNewLine & "Backup-" & Format(Date, "dd-mm-yyyy") & vbNewLine & "" & "مسار القاعدة الجديدة" & vbNewLine & DstFile, vbMsgBoxRight + vbOKOnly, "emphasis" & "/" & "تاكيد"

 

  • Like 5
قام بنشر

كنت احاول اضافة هذه الخاصية وقد سبقتني إليها قبل أن أسألك شكرا جزيلا لك جزاك الله كل خير 

قام بنشر

 

أخي الكريم الحلبي

يبدو أنك لم تقرأ هذا السطر جيدا

في ١٨‏/٨‏/٢٠٢١ at 14:09, د.كاف يار said:

الصق هذا الكود في ازرار النسخة الاحتياطية لكن تأكد من الاسم و الصيغة قبل البدء

يجب كتابة اسم قاعدة البيانات وامتداده في المتغير myfile

يبدو أنك لم تقم بهذه الخطوة 

قام بنشر

تفضل هذا التعديل 

ولكن لا تنسى تعديل اصدار قاعدة البيانات

 

لإنشاء نسخة احتياطية من قاعدة البيانات الحالية استخدم الكود التالي

Dim fso                 As Object
Dim fldrname            As String
Dim fldrpath            As String
Dim MyFile, DstFile     As String
Dim Syso                As Object

Set fso = CreateObject("scripting.filesystemobject")
    fldrpath = CurrentProject.Path & "\Backup"
If Not fso.FolderExists(fldrpath) Then fso.createfolder (fldrpath)

MyFile = CurrentProject.FullName
DstFile = CurrentProject.Path & "\Backup\Backup-" & Format(Now, "dd-mm-yyyy") & ".mdb"

DBEngine.Idle

Set Syso = CreateObject("Scripting.FileSystemObject")
    Syso.copyfile MyFile, DstFile
Set Syso = Nothing

Name DstFile As DstFile & ".ptc"
DBEngine.CompactDatabase DstFile & ".ptc", DstFile
Kill DstFile & ".ptc"

MsgBox "تم انشاء قاعدة البيانات بنجاح" & vbNewLine & "اسم قاعدة البيانات" & vbNewLine & "Backup-" & Format(Date, "dd-mm-yyyy") & vbNewLine & "" & "مسار القاعدة الجديدة" & vbNewLine & DstFile, vbMsgBoxRight + vbOKOnly, "emphasis" & "/" & "تاكيد"

 

لنسخ قاعدة بيانات في الخلفية او مختلف عن القاعدة الحالية استخدم التالي

Dim fso                 As Object
Dim fldrname            As String
Dim fldrpath            As String
Dim MyFile, DstFile     As String
Dim Syso                As Object

Set fso = CreateObject("scripting.filesystemobject")
    fldrpath = CurrentProject.Path & "\Backup"
If Not fso.FolderExists(fldrpath) Then fso.createfolder (fldrpath)

MyFile = "مسار قاعدة البيانات البعيدة"
DstFile = CurrentProject.Path & "\Backup\Backup-" & Format(Now, "dd-mm-yyyy") & ".mdb"

DBEngine.Idle

Set Syso = CreateObject("Scripting.FileSystemObject")
    Syso.copyfile MyFile, DstFile
Set Syso = Nothing

MsgBox "تم انشاء قاعدة البيانات بنجاح" & vbNewLine & "اسم قاعدة البيانات" & vbNewLine & "Backup-" & Format(Date, "dd-mm-yyyy") & vbNewLine & "" & "مسار القاعدة الجديدة" & vbNewLine & DstFile, vbMsgBoxRight + vbOKOnly, "emphasis" & "/" & "تاكيد"

 

 

  • Like 1
  • Thanks 1
قام بنشر

استاذى / @أ / محمد صالح

اشكر جزيل الشكر وربنا يزيد  من العلم والفضيلة جزاك الله خيرا

استاذي / @د.كاف يار

نجحت التجربة 

الله يرحم والديك ويجزاك الف خير على ماتقدمة لمساعدتنا 

  • Like 2

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information