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

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

قام بنشر

السلام عليكم

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

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

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

 

قام بنشر
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
قام بنشر

اخي الكريم

عدت الكود كما قلت

ولميحدث شيء جديد

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

 

تراكم.png

الرجاء التكرم بالتعديل والتجريب ثم الرفع

نفع الله بك

قام بنشر

اخي اواب

كل النسخ الظاهرة بتاريخ اليوم ما عدا  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