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

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

قام بنشر

حفظ قاعدة البيانات بأخذ نسخة ووضعها على D:\ عند إغلاق قاعدة البيانات ( أي في كل مرة تغلق فيها قاعدة البيانات ) وتسميتها بالعام مثلا 1429/1430 يتم تحديث بيانات النسخة الاحتياطية عند كل إغلاق ، وفي نهاية السنة وبداية سنة جديدة يتم نسخ قاعدة جديدة باسم العام الجديد ليبقى لكل عام قاعدة تخصه .
تقبلوا تحيات أخيكم ... ابو خليل..

في المرفقات المثال قم بعمل التالي :
1 - اجلب الوحدة النمطية SaveFolder الموجودة في المثال إلى قاعدة بياناتك

     فقد تحتاج اليها مستقبلا عندما تود تحديد مكان النسخة
2- يوجد في النموذج مربعي نص مخفية قم بنسخهما إلى النموذج الرئيسي في قاعدة بياناتك

3 في حد ث عند الإغلاق للنوذج الرئيسي الصق هذا الكود :
 

كود
On Error Resume Next
Dim OldFile As String, DBwithEXT, DBwithoutEXT, NewFile As String, CopyMyDB
OldFile = [DBOld]
DBwithEXT = Dir(OldFile)
DBwithoutEXT = Left(DBwithEXT, Len(DBwithEXT) - 4)
NewFile = [DBNew] & "\" & DBwithoutEXT & "-" & (Format(Date, "yyyy") - 1) & "-" & Format(Date, "yyyy") & Right(DBwithEXT, 4)
CopyMyDB = "cmd.exe /C copy " & """" & OldFile & """" & " " & """" & NewFile & """"
Shell CopyMyDB, 0
Exit Sub

 

وفي حدث عند التحميل الصق هذا الكود :
 

كود
'[DBOld] = CurrentDb.Name  اختيار قاعدة البيانات الحالية
[DBOld] = "c:\z1.mdb"  'اختيار مسار القاعدة البديلة
[DBNew] = "D:\"  'اختيار مكان حفظ النسخة


__________________.rar

 

post-49409-1247777895.jpg

  • Like 3
قام بنشر

يا ربي بارك لي في ابو خليل

وبارك له في علمه

آآآآآآآآآآآآآآآمييييييييييييييييين

مشكور اخي ابو خليل مشكور جداً جداً جداً

واسأل الله ان يقدرني ورد لك الجميل

  • 4 years later...
قام بنشر

الله ينور دربك يابوخليل

وافضالك علي سابقة وياريت تضيف هذي لجمايلك

اريد النسخ يكون لقواعد بيانات الجداول من داخل قاعدة بيانات الواجهة والنماذج

بمعنى النسخ الاحتياطي لقواعد بيانات غير القاعدة المفتوحة والتي يتم الحدث من داخلها

ارجو ان اكون وضحت المطلوب...

قام بنشر
[DBOld] = "c:\z1.mdb"  'اختيار مسار القاعدة البديلة

هذا السطر تستطيع من خلالة تحديد اي قاعدة بيانات تريد اخذ نسخة منها

  • Like 1
  • 4 months later...
قام بنشر

هذا ممكن وهو موجود في التوضيح اعلاه

 

وهذا مثال آخر محدث  استبدلنا فيه حقول المسارات بمتغيرات نصية

ويحفظ النسخة داخل مجلد البرنامج

Public Function DBOld()
 DBOld = CurrentDb.Name ' قاعدة البيانات الحالية
'DBOld = Application.CurrentProject.Path & "\dbData.db"' قاعد اخرى موجودة بالمسار نفسه
End Function
طبعا ستختار واحدة فقط والاخرى يلزم تعطيلها او حذفها
Public Function DBNew()
DBNew = Application.CurrentProject.Path & "\" 'الموقع الجديد للنسخة داخل مجلد البرنامج
End Function
Public Function BKUp()
On Error Resume Next
Dim OldFile As String, DBwithEXT, DBwithoutEXT, NewFile As String, CopyMyDB
OldFile = DBOld
DBwithEXT = Dir(OldFile)
DBwithoutEXT = Left(DBwithEXT, Len(DBwithEXT) - 4)
Application.SetOption "Use Hijri Calendar", False
NewFile = DBNew & "\" & Format(Now, "yyyymm") & ".txt"
CopyMyDB = "cmd.exe /C copy " & """" & OldFile & """" & " " & """" & NewFile & """"
Shell CopyMyDB, 0
Exit Function
End Function
Private Sub zerExit_Click()
BKUp
DoCmd.Close
End Sub

نسخة احتياطية .rar

قام بنشر

وفق الله وفتح لك ابواب العلم ، وتنفع الاسلام والمسلمين ، ويكون لك درجات واجر عند الله تعالي,

سؤال اخير ، هل يمكنني اضافة كود لضغط البيانات واصلاحها ، بعد هذا الامر مباشرة ، حتى ياخذ البرنامج نسخة احتياطية ، مع ضغطها واصلاحها في نفس الوقت برمجياً.

ولك جزيل الشكر

  • 1 year later...
قام بنشر

شكرا  اخوي صالح على هذا الاطراء

ولا كوكب ولا شي  يمكن   الاسبقية  او ما تسمى الخبرة

فكنت احفظ الاعمال  ثم انقلها اليكم  وربما ينطبق علي المثل : رب حامل فقه الى من هو افقه منه

  • Like 2
قام بنشر
6 ساعات مضت, ابوخليل said:

شكرا  اخوي صالح على هذا الاطراء

ولا كوكب ولا شي  يمكن   الاسبقية  او ما تسمى الخبرة

فكنت احفظ الاعمال  ثم انقلها اليكم  وربما ينطبق علي المثل : رب حامل فقه الى من هو افقه منه

متعك الله بالصحة والعافية يا ابا خليل

وغفر الله جميع ذنوبك في هذا الشهر الطيب المبارك

  • Like 1
قام بنشر

و الله نعم الرجل أنت يا أستاذنا الكريم دائما يقولون أن الذي لديه العلم الوفير سمته التواضع و حب مساعدة الناس و ها نحن الآن نقف مصدقينا لهذا القول. أدامك الله نافع و منتفعا بلعمك و أنار الله دربك في حياتك و أنار لك قبرك في مماتك إن شاء الله "اللهم أجمعني بعبدك هذا في الجنة مع نبينا محمد صلى الله عليه و سلم و جميع المسلمين يا رب العالمين".

 

قام بنشر

يبدو انك جمعت بين الطريقتين من غير قصد

في اول مشاركة لي يتم اخذ مسار القاعدة  ومكان النسخ من  مربعي نص  تم انشاؤهما  داخل النموذج

ولكن في  مشاركتي الثانية  رقم 7 (تعديل وتحديث )  يتم اخذ المسارات من وحدتين نمطيتين

ولو تلا حظ ان المسميات واحدة

فأنت جمعت بين الطريقتين : أنشأت مربعي نص  داخل النموذج  + استخدمت الوحدات النمطية

وبالمسمى نفسه فحصل التعارض

الحل :  احذف مربعي النص 

  • Like 2
قام بنشر

شكرا أستاذنا الفاضل. لقد تم تنفيذ البرنامج و قام بعمل نسخة احتياطية بشكل مستند نص

أريد عمل زر عند الضغط عليه ينشئ نسخة أحتياطية لقواعد البيانات (الجداول فقط) في مجلد البرنامج و يقوم بتفريغ الجداول المصدر من أجل تقليل حجم البرنامج.

و عمل زر آخر يقوم بإستدعاء النسخة الإحتياطية للبرنامج.

أرجوا أن ألا أكون قد أثقلت عليك يا أخي الكريم.

 

قام بنشر

ان شاء الله كل ما تفضلت به يمكن عمله

ولكن من واقع الخبرة والعمل ارى ان الطريقة هذه  لا تخدم المبرمج

اقصد انه من الافضل فصل الجداول  لوحدها  وجعل الواجهات في قاعدة أخرى والعمل على البرنامج من هذا الاساس

هذه الطريقة لها فوائد عديدة جمة 

 

  • Like 1
قام بنشر

شكرا أستاذ أبوخليل سوف أقوم بتقسيم البرنامج.

و أنا في إنتظار إجابتك على الأسئلة السابقة.

تقبل الله منا و منكم الصيام و القيام.

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