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

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

قام بنشر

اريد كود يعمل نسخة احتياطية من البرنامج  (قاعدة البيانات ) كل اسبوع مره  وان تكون النسخة مضغوطة وكل اسبوع باسم مختلف

دون تدخل المستخدم وان تكون في فولدر ما وليكن c:\windows\system32\ashraf

سدد الله خطاكم ونفعنا بعلمكم 

دمتم سالمين

 

  • أفضل إجابة
قام بنشر

أستاذي الفاضل @ابو عبد الرحمن اشرف هذا برنامجي بيعطيك نسخة مضغوطة من البرنامج يدوياَ وكل مرة بإسم غير...... أما أسبوعياً أو يوميا أو شهرياً ......... يساعدك فيها أستاذنا الكبير @أبو خليل لأنه تطرق إليها من قبل   .

تفضل المرفق .:fff:

Zip Folder and CopyLast.rar

قام بنشر
5 دقائق مضت, kkhalifa1960 said:

أستاذي الفاضل @ابو عبد الرحمن اشرف هذا برنامجي بيعطيك نسخة مضغوطة من البرنامج يدوياَ وكل مرة بإسم غير...... أما أسبوعياً أو يوميا أو شهرياً ......... يساعدك فيها أستاذنا الكبير @أبو خليل لأنه تطرق إليها من قبل   .

تفضل المرفق .:fff:

Zip Folder and CopyLast.rar 123.93 kB · 0 downloads

 

اخي الغالي بارك الله فيك علي اهتمامك بالفعل اطلعت عليه وبعد اذنك طبعا اضفته ضمن خيارات البرنامج عندي ويعمل بشكل ممتاز 

ولكن المشكلة في المستخدم لا ياخذ نسخة الا كل فين وفين لذلك كنت وما زلت ابحث عن عمل النسخة الاحتياطية اتوماتيكيا كل فترة محددة

في انتظار اخونا ومعلمنا الكبير ابو خليل بارك الله فيه

قام بنشر

محاوله :smile:

اسبوع

بشرط اذا تاريخ اليوم ="سبت" او لاي يوم يوافق تاريخ يوم خذ نسخ وتختلف في من يستعمل في كل اذا اخذ لا يعيد فيحدد ساعة ( يوم الموافق = ساعه =1) 

شهر

وشهر بحقل في جدول وآخر غير منضم بشرط اذا كان اكبر من حقل جدول يحدث بجلب قيمة شهر مع اخذ نسخه احتياطية ( رقم شهر = ساعة = 1)

اما يوميا تم ارفقا مرفق ابحث عن موضوع Ezril

قام بنشر
4 دقائق مضت, Ezril said:

محاوله :smile:

اسبوع

بشرط اذا تاريخ اليوم ="سبت" او لاي يوم يوافق تاريخ يوم خذ نسخ وتختلف في من يستعمل في كل اذا اخذ لا يعيد فيحدد ساعة ( يوم الموافق = ساعه =1) 

شهر

وشهر بحقل في جدول وآخر غير منضم بشرط اذا كان اكبر من حقل جدول يحدث بجلب قيمة شهر مع اخذ نسخه احتياطية ( رقم شهر = ساعة = 1)

اما يوميا تم ارفقا مرفق ابحث عن موضوع Ezril

ده المفروض انا اطبق ما تم ذكره آنفا  صعب علي جدا اخي ممكن ملف مرفق به الفكرة اخي الفاضل

قام بنشر

أستاذي الفاضل @ابو عبد الرحمن اشرف أنا شغال على الموضع لك ولي كي أطور البرنامج بس لو ممكن تطول بالك شوي أما لو شاركنا أستاذنا @أبو خليل  جزاه الله خير يبقى  قصر علينا الوقت .:fff:

  • Like 2
قام بنشر
1 ساعه مضت, kkhalifa1960 said:

أستاذي الفاضل @ابو عبد الرحمن اشرف أنا شغال على الموضع لك ولي كي أطور البرنامج بس لو ممكن تطول بالك شوي أما لو شاركنا أستاذنا @أبو خليل  جزاه الله خير يبقى  قصر علينا الوقت .:fff:

طبعا اطول بالي اخي 

وكلنا نتمني ابداعات استاذنا الجليل @ابوخليل

 

قام بنشر (معدل)
5 ساعات مضت, ابو عبد الرحمن اشرف said:

ولكن المشكلة في المستخدم لا ياخذ نسخة الا كل فين وفين لذلك كنت وما زلت ابحث عن عمل النسخة الاحتياطية اتوماتيكيا كل فترة محددة

اخي الكريم تحية طيبة

لنفرض جدلا اننا حددنا يوم السبت للنسخ الاحتياطي و شاءت الأسباب ان يكون عطلة!

بالتالي لن يتم اخذ نسخة احتياطية حتى يأتي السبت التالي

لم لا تجعل الكود عند اغلاق البرنامج حيث تظهر رسالة تنبيه لأخذ نسخة احتياطية ( نعم او لا )

اضف الى ذلك ان المسار system32 مسار محمي و ستجد صعوبة في التعامل معه علاوة على ذلك هو مسار لنظام ويندوز و الويندوز مهدد في اي لحظة بالعطب 😥

لم لا تجعل المسار في القرص D او اي قرص اخر

تم تعديل بواسطه محمد ايمن
  • Like 1
  • Thanks 1
قام بنشر
1 دقيقه مضت, محمد ايمن said:

اخي الكريم تحية طيبة

لنفرض جدلا اننا حددنا يوم السبت للنسخ الاحتياطي و شاءت الأسباب ان يكون عطلة!

بالتالي لن يتم اخذ نسخة احتياطية حتى يأتي السبت التالي

لم لا تجعل الكود عند اغلاق البرنامج حيث تظهر رسالة تنبيه لأخذ نسخة احتياطية ( نعم او لا )

 

حياك الله اخي الفاضل

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

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

قام بنشر

يمكن بكل بساطة تنفيذ الكود تلقائيا و اجعل اسم النسخة الاحتياطية هو التاريخ و الوقت كاملا (ساعة:دقائق:ثواني)

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

  • Thanks 1
قام بنشر
16 دقائق مضت, محمد ايمن said:

يمكن بكل بساطة تنفيذ الكود تلقائيا و اجعل اسم النسخة الاحتياطية هو التاريخ و الوقت كاملا (ساعة:دقائق:ثواني)

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

 

هل من الممكن اخي تنفيذ الكود علي الملف المرفق 

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

صيانة.rar

قام بنشر
4 دقائق مضت, kkhalifa1960 said:

باكر انشاء الله بحالول لأني اليوم تعبت جداً الى اللقاء وتصبح على خير .:fff:

وانت من اهل الخير اخي

والف سلامة عليك

قام بنشر

مشاركة في الجزء الخاص بحفظ نسخة كل أسبوع 🙂 

لدي تجربة سابقة قد طبقتها في برامج صممتها سابقا ..

الفكرة : أني عملت جدول لتخزين عمليات الحفظ الاحتياطي ، عند كل عملية حفظ يتم تخزين ( التاريخ والوقت - مسار الحفظ ) .. ، ولكي يتأكد البرنامج إن كان تم حفظ نسخة هذا الأسبوع أم لا  .. عملت دالة تقوم بفحص حقل التاريخ في الجدول .. فإذا وجدت أن هناك نسخة محفوظة  خلال تواريخ هذا الأسبوع تلغي عملية الحفظ .. وإذا لم يجد سجل محفوظ يقوم بتشغيل كود حفظ النسخة الاحتياطية وهو بدوره سيقوم بتخزين بيانات النسخة في الجدول .. 🙂 

 

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

Function CheckBackupWeek() As Boolean
'هذي الدالة تفحص إذا كان هناك نسخة محفوظة سابقا في جدول النسخ الإحتياطية خلال الأسبوع الحالي
'True : نعم يوجد       , False: لا يوجد

  ' Declare variables
  Dim RS As Recordset
  Dim startWeek As Date
  Dim endWeek As Date
  
  ' Get the start and end dates of the current week
  
   startWeek = DateAdd("d", -(Weekday(Date) - 1), Date)
   endWeek = DateAdd("d", 6, startWeek)

   startWeek = Format(startWeek, "mm/dd/yyyy")
   endWeek = Format(endWeek, "mm/dd/yyyy")
  
  'Debug.Print startWeek, endWeek
  
  ' Open the recordset
  Set RS = CurrentDb.OpenRecordset("SELECT * FROM BackUpsT WHERE [DateTime] BETWEEN #" & startWeek & "# AND #" & endWeek & "#")
  
  ' Check if the recordset is empty
  If RS.EOF Then
    ' Return False if the recordset is empty
    CheckBackupWeek = False
  Else
    ' Return True if the recordset is not empty
    CheckBackupWeek = True
  End If
  
  ' Close the recordset
  RS.Close
End Function

 

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

If CheckBackupWeek() = False Then
    ' يفحص من جدول النسخ الاحتياطية إذا كانت هناك نسخة محفوظة سابقا خلال هذا الأسبوع
    ' إذا ما وجدها يحفظ وإذا وجدها ينتقل للإجراء التالي
    Call DoBackup
Else
    ' توجد نسخة سابقة لذلك يخرج
    Exit Function
End If

 

تحياتي 🙂 

  • Like 2
قام بنشر
4 دقائق مضت, kkhalifa1960 said:

استاذنا @Moosak ممكن التطبيق على مرفقي بعاليه خصوصاً بأن الموديول

Call DoBackup

غير متوفر وجزاكم الله كل خير

طبعا أخي خليفة ستقوم بتغيير المسميات حسب ما هو موجود لديك .. 🙂 

تغير اسم دالة الحفظ الإحتياطي .. وكذلك اسم جدول وحقل النسخ تاريخ النسخة الاحتياطية هنا :

Set RS = CurrentDb.OpenRecordset("SELECT * FROM BackUpsT WHERE [DateTime] BETWEEN #" & startWeek & "# AND #" & endWeek & "#")
قام بنشر

الكود المذكور فكرته جميلة جدا .  لكن لو امكن التوضيح .. أين أضع الكود ، وما الكلمات او السطور التي يجب تغييرها وتغير الى ماذا ، لأن الأمر فعلا مهم وقد تعرضت من قبل لفقدان بيانات ولا زلت اعاني إعادة ادخالها، وانا مبتدئ في موضوع ال vba

قام بنشر

طيب ..

قمت بعمل المطلوب في الملف المرفق .. 🙂 

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

العناصر المراد نقلها :

image.png.f3fa60fe3dc3f4422560fe7133f85248.png

المرفق :

Weekly Backup.accdb

  • Like 1
قام بنشر

لا يا خليفه! @kkhalifa1960 ان  @Moosak اختصر!! بعد رفع لطلب ذاك برنامج Excil_With_Access Control. بحدث لكم برنامج اكثر من اختيار متعدد للنسخ الاحتياطية والمؤقته والمتعدد :wub:

قام بنشر
3 ساعات مضت, Moosak said:

طيب ..

قمت بعمل المطلوب في الملف المرفق .. 🙂 

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

العناصر المراد نقلها :

image.png.f3fa60fe3dc3f4422560fe7133f85248.png

المرفق :

Weekly Backup.accdb 448 kB · 4 downloads

اخي الحبيب

اردت تغيير مسار مجلد   Bakup     فقمت بتعديل السطر الي 

WhereToSave = BECurrentPath & "c:\windows\Bakup\"
ولم يفلح الامر 

قام بنشر
3 ساعات مضت, kkhalifa1960 said:

أستاذي الفاضل @ابو عبد الرحمن اشرف بعد دمج مرفق استاذنا @Moosak جزاه الله خير قصر علينا الوقت باقي التجربة ووافنا بالرد .:fff:

Zip Folder and CopyLast_3.rar 461.37 kB · 4 downloads

اخي الغالي قمت بتشغيل الملف واغلاقة بدون ان افعل اي شيئ ولكني لم اجد دليل Bakup موجود في اي مكان فالظاهر لم يتم اخذ نسخة تلقائيا

 

قام بنشر
7 دقائق مضت, ابو عبد الرحمن اشرف said:

اخي الحبيب

اردت تغيير مسار مجلد   Bakup     فقمت بتعديل السطر الي 

WhereToSave = BECurrentPath & "c:\windows\Bakup\"
ولم يفلح الامر 

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

واريد تغيير مكان المجلد Bakup

WhereToSave = BECurrentPath & "c:\windows\Bakup\"

هل يتم كتابة الدليل الجديد بعد علامة يساوي مباشرة 

قام بنشر
3 ساعات مضت, ابو عبد الرحمن اشرف said:

واريد تغيير مكان المجلد Bakup

 

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

"WhereToSave =  "c:\windows\Bakup

حيث أن BECurrentPath  هو اسم الدالة التي تحضر لك الموقع الحالي لقاعدة البيانات .

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

 

  • Like 1
  • Thanks 1
قام بنشر
15 دقائق مضت, Moosak said:

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

"WhereToSave =  "c:\windows\Bakup

حيث أن BECurrentPath  هو اسم الدالة التي تحضر لك الموقع الحالي لقاعدة البيانات .

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

 

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

الان علمت معلومة جديدة عن هذه الدالة BECurrentPath  فبارك الله فيك اخي الحبيب

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