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

كود VBA لضغط واصلاح القاعده الاماميه


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

مرحبا بك 

لدي كود جربه في زر الامر لديك 

'كود الضغط و الاصلاح
Application.SetOption "Auto compact", True
'كود الخروج من التطبيق
DoCmd.Quit

 

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

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

مرحبا بك 

لدي كود جربه في زر الامر لديك 

'كود الضغط و الاصلاح
Application.SetOption "Auto compact", True
'كود الخروج من التطبيق
DoCmd.Quit

 

 اعلم هذا الكود 
للاسف بيفعل خاصيه ال compact On close
image.jpeg.6a7eb5837a759638ac1e9e9367b17b0a.jpeg

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

4 دقائق مضت, gavan said:

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

'كود الضغط و الاصلاح
Application.SetOption "Auto compact", True

 

نفس الشي 
بيفعلها وبتكون شغله مع كل خروج هيعمل ضغط واصلاح

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

4 ساعات مضت, UserUser2 said:

نفس الشي 
بيفعلها وبتكون شغله مع كل خروج هيعمل ضغط واصلاح

معلومة ينبغي معرفتها :

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

بمعنى انه عند كل عملية لازم يتم قفل قاعدة البيانات الحالية .. من اجل حذفها وفتح القاعدة الجديدة

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

 

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

وعليكم السلام 🙂

 

حسب اعتقادي, هناك 3 طرق لعمل المطلوب:

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

2. مثل ما تفضل اخوي @gavan ، ولكن مع تغيير بسيط:

  أ- اكتب الكود اعلاه على حدث زر ، لما تريد عمل ضغط واصلاح ، 

'كود الضغط و الاصلاح
Application.SetOption "Auto compact", True
'كود الخروج من التطبيق
DoCmd.Quit

  ب- على حدث فتح النموذج الرئيسي للبرنامج ، قم بتغيير الاعدادات الى (حتى لا يعمل البرنامج اصلاح في كل مرة ينغلق فيه البرنامج) : 

Application.SetOption "Auto compact", False

3. على حدث نقر زر ، اكتب كود ، والذي سيتم حفظه كملف بصيغة vbs  او bat ، ويعمل التالي:

  أ- لنفترض ان اسم قاعدة بياناتك A.accdb ، الكود يبحث عن الملف A.laccdb (لاحظ هذا اسم ملف القفل الذي ينشأه اكسس عندما يكون برنامجك شغال) ، واذا لم يجده ، ينفذ الامر التالي لضغط واصلاح البرنامج.

 

اليك هذا البرنامج الذي يعمل ضغط واصلاح، وبه بعض الميزات: http://www.peterssoftware.com/cal.htm#:~:text=Backup, Repair, and Compact a List.

او برنامجي ، والذي ياخذ نسخة من البرنامج الاصل قبل الضغط والاصلاح ، يقوم بعمل الضغط والاصلاح ، Decompile للكود ، وحفظ نسخه من البرنامج بعد الضغط والاصلاح :

 

 

 

في 3‏/10‏/2024 at 22:12, ابوخليل said:

معلومة ينبغي معرفتها

شكرا جزيلا على هذه المعلومة اخوي ابو خليل ،

وفي الواقع يجب عمل الضغط ةالاصلاح على كمبيوترك المحلي ، وليس على مجلد الشبكة 🙂

 

جعفر

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

اهلا وسهلا اخوي جعفر  .. عودا حميدا .. ومن طول الغيبات جاب الغنايم :fff:

 

منذ ساعه, jjafferr said:

او برنامجي ، والذي ياخذ نسخة من البرنامج الاصل قبل الضغط والاصلاح 

هذا بيت القصيد

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

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

وعليكم السلام 🙂

 

حسب اعتقادي, هناك 3 طرق لعمل المطلوب:

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

2. مثل ما تفضل اخوي @gavan ، ولكن مع تغيير بسيط:

  أ- اكتب الكود اعلاه على حدث زر ، لما تريد عمل ضغط واصلاح ، 

'كود الضغط و الاصلاح
Application.SetOption "Auto compact", True
'كود الخروج من التطبيق
DoCmd.Quit

  ب- على حدث فتح النموذج الرئيسي للبرنامج ، قم بتغيير الاعدادات الى (حتى لا يعمل البرنامج اصلاح في كل مرة ينغلق فيه البرنامج) : 

Application.SetOption "Auto compact", False

3. على حدث نقر زر ، اكتب كود ، والذي سيتم حفظه كملف بصيغة vbs  او bat ، ويعمل التالي:

  أ- لنفترض ان اسم قاعدة بياناتك A.accdb ، الكود يبحث عن الملف A.laccdb (لاحظ هذا اسم ملف القفل الذي ينشأه اكسس عندما يكون برنامجك شغال) ، واذا لم يجده ، ينفذ الامر التالي لضغط واصلاح البرنامج.

 

اليك هذا البرنامج الذي يعمل ضغط واصلاح، وبه بعض الميزات: http://www.peterssoftware.com/cal.htm#:~:text=Backup, Repair, and Compact a List.

او برنامجي ، والذي ياخذ نسخة من البرنامج الاصل قبل الضغط والاصلاح ، يقوم بعمل الضغط والاصلاح ، Decompile للكود ، وحفظ نسخه من البرنامج بعد الضغط والاصلاح :

 

 

 

شكرا جزيلا على هذه المعلومة اخوي ابو خليل ،

وفي الواقع يجب عمل الضغط ةالاصلاح على كمبيوترك المحلي ، وليس على مجلد الشبكة 🙂

 

جعفر

جزاك الله خيرا استاذنا الفاضل

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

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information