اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

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


samrati1

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

اخواني في الله 

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

اريد عمل نسخة احتياطية عند غلق الاكسزز وبدون نماذج 

اي يتم عمل ذلك في برمجة الاكسزز نفسه عند الاغلاق بدون الضغط على اي زر ولا يتم وضع البرمجة في نموذج عند الاغلاق 

واشكركم 

 

 

رابط هذا التعليق
شارك

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

ضع الشفرة التالية في زر أمر.. 

'On Error Resume Next
  Dim Tbl As TableDef, NewDB
  
  '--  Get current db name and combine date with it
  NewDB = Replace(CurrentDb.Name, ".", "_" & Format(Date, "dd-mm-yyyy") & ".")
  
  '-- create new db
  If Dir(NewDB) <> "" Then Kill NewDB
  CreateDatabase NewDB, dbLangGeneral
  
  '-- Loop throu db tables and exoprt them to new db
  For Each Tbl In CurrentDb.TableDefs
    If Tbl.Name Like "[!M,!U]*" Then
    DoCmd.TransferDatabase acExport, "Microsoft Access", NewDB, acTable, Tbl.Name, Tbl.Name, False
    End If
  Next

 

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

استاذ @أبو إبراهيم الغامدي ماذا لو اردنا ان يتم اخذ النسخة الاحتياطية بكامل القاعدة اي بجميع بمكوناتها وليست الجداول فقط فما هو التعديل اللازم على الكود؟

سؤال آخر وهو لماذا يتم استثناء الجداول التي تبدأ بحرف U ؟

رابط هذا التعليق
شارك

3 ساعات مضت, sandanet said:

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

استخدم الشفرة التالية لنسخ قاعدة البيانات نفسها إلى اسم جديد..

Public Function BuckupDb()
  Dim FOS As Object, BuckupName
  Set FSO = CreateObject("scripting.filesystemobject")
  BuckupName = Replace(CurrentDb.Name, ".", "_" & Format(Date, "dd-mm-yyyy") & ".")
  FSO.Copyfile CurrentDb.Name, BuckupName
End Function

 

3 ساعات مضت, sandanet said:

سؤال آخر وهو لماذا يتم استثناء الجداول التي تبدأ بحرف U ؟

هذه جداول النظام المعرفة من قبل المستخدم مثل الجدول الخاص بنصوص شريط الأدوات المعرفة من قبل المستخدم

رابط هذا التعليق
شارك

شكراً لك استاذي @أبو إبراهيم الغامدي على الكود الرائع بارك الله فيك 

استاذي اليست جداول النظام هي تلك التي تبداً بـ MSys انا لم يصادفني ان رأيت جدول نظام يبدأ بحرف U فهل تظهر تلك الجداول عندما يتم انشاء شريط ادوات خاص بالمستخدم؟

 

رابط هذا التعليق
شارك

أذكر أن الاستاذ @Shivan Rekany قد أجاب في مشاركة سابقة عن كيفية عمل نسخة لمكونات قاعدة البيانات.. ولا أظن أني جئت بشئ جديد هنا!

والغرض الرئيس من السؤال ليس هو طريقة نسخ الجداول بل هو ..

في 10/10/2017 at 15:12, samrati1 said:

اي يتم عمل ذلك في برمجة الاكسزز نفسه عند الاغلاق بدون الضغط على اي زر ولا يتم وضع البرمجة في نموذج عند الاغلاق 

ولب القول في هذه المسألة أن كل من تكلم عن نسخ قاعدة البيانات أو نسخ مكوناتها عند الإغلاق قالوا بضرورة استخدام النموذج.. وله صورتان

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

الثانية استخدام مثيل النموذج.. بمعني استخدام الفئة البنوية للنموذج (Form Class).. وهذه الطريقة لا تستلزم انشاء نموذج خاص بل يمكن استخدام الفئة البنوية لأي نموذج وزرع الشفرة في حدث عند الإغلاق، وهذه الطريقة المفضلة لدي.

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

فلو نقرنا على زر الإغلاق في الأول فلن تنسخ البيانات ولن ينغلق الثاني تبعا والعكس صحيح..

التالي مثال على الصورة الثانية:BackupTables.zip

40 دقائق مضت, sandanet said:

انا لم يصادفني ان رأيت جدول نظام يبدأ بحرف U فهل تظهر تلك الجداول عندما يتم انشاء شريط ادوات خاص بالمستخدم؟

هذا خاص بـ 2007 فأعلى وليس له علاقة 2003 ... المجموعة التالية فيها تغطي بعض المزايا المفيدة لشريط الأدوات في 2007 فأعلى

شرح تكوين شريط الأدوات 2007 فأعلى

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

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

15 دقائق مضت, أبو إبراهيم الغامدي said:

وهذه الطريقة المفضلة لدي

 

22 دقائق مضت, أبو إبراهيم الغامدي said:

هذا خاص بـ 2007 فأعلى وليس له علاقة 2003 ... المجموعة التالية فيها تغطي بعض المزايا المفيدة لشريط الأدوات في 2007 فأعلى

وضحت الصورة

 

تحياتي

رابط هذا التعليق
شارك

في ١٣‏/١٠‏/٢٠١٧ at 21:42, أبو إبراهيم الغامدي said:

أذكر أن الاستاذ @Shivan Rekany قد أجاب في مشاركة سابقة عن كيفية عمل نسخة لمكونات قاعدة البيانات.. ولا أظن أني جئت بشئ جديد هنا!

والغرض الرئيس من السؤال ليس هو طريقة نسخ الجداول بل هو ..

ولب القول في هذه المسألة أن كل من تكلم عن نسخ قاعدة البيانات أو نسخ مكوناتها عند الإغلاق قالوا بضرورة استخدام النموذج.. وله صورتان

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

الثانية استخدام مثيل النموذج.. بمعني استخدام الفئة البنوية للنموذج (Form Class).. وهذه الطريقة لا تستلزم انشاء نموذج خاص بل يمكن استخدام الفئة البنوية لأي نموذج وزرع الشفرة في حدث عند الإغلاق، وهذه الطريقة المفضلة لدي.

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

فلو نقرنا على زر الإغلاق في الأول فلن تنسخ البيانات ولن ينغلق الثاني تبعا والعكس صحيح..

التالي مثال على الصورة الثانية:BackupTables.zip

هذا خاص بـ 2007 فأعلى وليس له علاقة 2003 ... المجموعة التالية فيها تغطي بعض المزايا المفيدة لشريط الأدوات في 2007 فأعلى

شرح تكوين شريط الأدوات 2007 فأعلى

استاذي ابو ابراهيم الغامدي 

اشكرك على سعة صدركم وعلى ردكم على السؤال 

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

 

Picture1.jpg

رابط هذا التعليق
شارك

13 دقائق مضت, samrati1 said:

استاذي ابو ابراهيم الغامدي 

اشكرك على سعة صدركم وعلى ردكم على السؤال 

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

 

Picture1.jpg

استأذن من استاذنا @أبو إبراهيم الغامدي

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

رابط هذا التعليق
شارك

الان, Shivan Rekany said:

استأذن من استاذنا @أبو إبراهيم الغامدي

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

استاذي الفاضل لقد قمت باخراج الملف من ملف الضغط المرفق وقمت بتجربته ولم ينجح الامر 

رابط هذا التعليق
شارك

14 دقائق مضت, samrati1 said:

استاذي الفاضل لقد قمت باخراج الملف من ملف الضغط المرفق وقمت بتجربته ولم ينجح الامر 

اذن تأكد من مسار الملف
لا تخلي اي (.) نقطة فيها

  • 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.

×
×
  • اضف...

Important Information