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

علاج تراكم وتكرار عدد النسخ الاحتياطي


ابوخليل

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

السلام عليكم

في وقت مضى احتجت الى حذف مستندات محددة في مجلد والإبقاء على أخرى حسب التاريخ والأقدمية  فعرضت موضوعي  هنا  وقد تكفل بحل المسألة واجاد استاذنا ابو آدم  جزاه الله خيرا

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

اليكم ادناه تطبيق عملي مع الاكواد المصاحبة :

 

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

Option Compare Database
Dim DBOld As String
Dim DBNew As String
Private Sub Form_Close()
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, "yyyymmddhhnnss") & ".mdb"
CopyMyDB = "cmd.exe /C copy " & """" & OldFile & """" & " " & """" & NewFile & """"
Shell CopyMyDB, 0
Exit Sub
End Sub
Private Sub Form_Load()
DBOld = CurrentProject.Path & "\db2.mdb"
DBNew = CurrentProject.Path & "\tst\"
Call zerNc
End Sub
Sub delfiles()
  Dim strFldr As String
       Dim strFile As String
        Dim FileToGet As String
           strFldr = CurrentProject.Path & "\tst" ' modify folder to your own
         strFile = Dir(strFldr & "\*.*") ' get list of files in folder
    Do While Len(strFile) > 0
     FileToGet = left(strFile, Len(strFile) - 4)
    If FileToGet <= CStr(Format(Date - 3, "yyyymmdd")) Then
      Kill strFldr & "\" & strFile
    Else
End If
strFile = Dir
Loop
End Sub
 Sub zerNc()
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, "yyyymmddhhnnss") & ".mdb"
CopyMyDB = "cmd.exe /C copy " & """" & OldFile & """" & " " & """" & NewFile & """"
Shell CopyMyDB, 0
Exit Sub
Me.Requery
Call delfiles
End Sub

 

db.rar

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

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

 

رحم الله والديك على هالفكرة ، وبالفعل ، يجب تنظيف الملفات القديمة :rol:

 

والآن يجي دور اخونا محمد سلامة ، علشان يطلع لنا بعدّة خيارات للحذف (مثل ما عمل عدة خيارات للحفظ) :wink2:

 

 

جعفر

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

في ٢٧‏/٢‏/٢٠١٦ at 06:41, أواب said:

جيت في وقتكهذا الموضوع كان شاغلني جداً حتى أتيت بالحل

الحمد لله  وبارك الله فيك

في ٢٧‏/٢‏/٢٠١٦ at 10:26, jjafferr said:

والآن يجي دور اخونا محمد سلامة ، علشان يطلع لنا بعدّة خيارات للحذف (مثل ما عمل عدة خيارات للحفظ) :wink2:

جعفر

 الله يسعدك يابوعبدالله ما يفوت عليك شي :biggrin:

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

9 ساعات مضت, jjafferr said:

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

 

رحم الله والديك على هالفكرة ، وبالفعل ، يجب تنظيف الملفات القديمة :rol:

 

والآن يجي دور اخونا محمد سلامة ، علشان يطلع لنا بعدّة خيارات للحذف (مثل ما عمل عدة خيارات للحفظ) :wink2:

 

 

جعفر

ههههههه :biggrin:

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

تحياتي لك استاذي ومعلمي استاذ جعفر واستاذي ابو خليل

وسوف ارجع المرفق والكود. وارد بعدها

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

14 ساعات مضت, jjafferr said:

والآن يجي دور اخونا محمد سلامة ، علشان يطلع لنا بعدّة خيارات للحذف (مثل ما عمل عدة خيارات للحفظ) :wink2:

حياك الله استاذي جعفر واستاذي ابوخليل

وكما طلبت استاذ جعفر عدة خيارات للحذف وعدة خيارات للحفظ

تم عمل التصميم المطلوب .. ويتبقي لكم تنفيذ الاكواد المطلوبة حتي يكتمل المراد:fff::wub:

mmm.png.392786c0c8bc1fa759ae49dff92a4fe5

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

BackUp-delete-Control.rar

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

13 ساعات مضت, محمد سلامة said:

1. وسمحني يا استاذ ابو خليل لم استطيع حفظ نسخه منه علي 2003    

2. ممكن استاذ جعفر يحفظه علي 2003 ويعيد رفعه مرة اخري

السلام عليكم :rol:

 

1. بعض الاوقات الحفظ بصيغة ثانية ما يصير ، فالطريقة الاخرى لعمل هذا ، هو ان تعمل قاعدة بيانات جديدة بالصيغة اللي تريدها ، ثم تستورد كائنات البرنامج الاخر الى برنامجك الجديد :rol:

2. ها ، لا تقولون ما كان لي دور في عمل البرنامج :wink2:

 

المرفق بصيغة mdb .

 

جعفر

BackUp-delete-Control.zip

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

الأخ الكريم / ابو خليل

السلام عليكم

لقد حملت المرفق تبعك وحاولت تشغيله أكثر من مرة في أيام مختلفة ولكنه لا يحذف الملفات القديمة بل تزيد في كل تشغيلة العدد 2

أملفحص الملف والكود وتجريبه وتزويدنا بملاحظاتك

 

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

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

 

اخي اواب  اعتذر عن التأخير  والمسألة غلطة مطبعية او بالاصح تقديم سطر على سطر

في الحدث Sub zerNc()

انقل   Exit Sub  واجعلها في نهاية الاسطر يعني تكون بعد السطر Call delfiles

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

 

       

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

اخي اواب

كل النسخ الظاهرة بتاريخ اليوم ما عدا  10 نسخ بتاريخ  27

اصبر يومين وسترى النتيجة بام عينك

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

   ثم افتح النموذج لترى النتيجة

  التصفية تتم حسب الايام

 وان اردتها حسب الثواني  فبالامكان ذلك

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

ممتاز جداً .........بارك الله فيكم.........ونفع بكم

وجعل ما تساهمون به في ميزان حسناتكم

***************************************

بقي شيء واحد ليزداد الموضوع جمالاً

وهو أن تذهب المحذوفا إلى سلة المحذوفات  بدلاً من الحذف النهائي

فقد يحذف ملف مهم قد نحتاج الرجوع إليه

********************************************

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

يا سلام عليك وعلى افكارك النيرة

حين قلت  في مشاركتي السابقة ان فكرتك هي الاصح لانه قد خطر في بالي لو ان البرنامج لم  يتم فتحه اكثر من ثلاثة ايام فانه حين يتم فتح النموذج سيقوم البرنامج بحذف النسخ كلها ، لذا اخذت بالاحتياط سابقا  فجعلت البرنامج ياخذ نسخة قبل اجراء الحذف

ولكن فكرتك الجديدة هذه تعطي مجالا  اكثر أمنا وخطا للرجوع

تفضل تم تعديل المثال ليحقق المطلوب

جرب ووافني بالنتيجة

db.rar

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

اخي الكريم

ليتسع صدرك لي ولأمثالي

لقد جربت المرفق الأخير ولم يتم الحذف -لا نهائيا-ولا في المحذوفات

وكانت النتيجة كم بالصورة---رغم تغيير تاريخ الجهاز أكثر من مرة.......ما أدري أين الخطأ؟

 

نسخ.png

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

لا تغير تاريخ الجهاز

تاريخ اليوم هو 3/3/2016   

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

    كل الارقام الظاهرة في شهر 3  .... واصغر واحد يمثل  اليوم 3

   عدل التواريخ على النسخ  جرب وعدل الشهر  الى 02  بدلا من 03

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

لفد فعلت كما قلت...........غيرت تواريخ النسخ لشهر 02  و01 ولم يتم الحذف بل تزيدالنسخ فقط

أليس من المفترض حسب البرمجة

Date - 3, "yyyymmdd"

 

أن يبقي فقط على نسخ آخر ثلاثة أيام فقط ويحذف النسخ الأخرى؟

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

 لا ادري كيف يحدث لك ذلك 

  فعندي يعمل على اكمل وجه

   عملت بعض التعديلات ، حيث جعلت النسخ والحذف من الازرار فقط

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

db2.rar

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

عندي يشتغل بدون مشاكل

هل لاصدار اكسس دخل في هذا ؟

جرب  ضع هذا السطر في اعلى الكود

On Error Resume Next

وافني بالنتيجة

اذا ما اشتغل  عندك  ساحاول تشغيل المثال على اصدار احدث  لارى المشكلة عن قرب

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

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