الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

*عام* ضغط قاعدة البيانات .

مغلق
بدأه ابو لمى في 8 مارس 2001 · 1 رد · 2,866 مشاهدة · في قسم الأرشيف و المواضيع المميزه
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

يتم ضغط قاعدة البيانات في أكسيس من القائمه :

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

هذا سهل ولكن كيف تضغط قاعدة بيانات عن طريق الكود في أكسيس ؟

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

** اذا كانت القاعده لا تفتح أكثر من مره في الوقت الواحد (يعني ليست على شبكه) .. فيمكنك تفعيل الخيار ضغط عند الإغلاق من القائمه أدوات -- خيارات -- عام -- ضغط عند الإغلاق .

وسيضغط أكسيس القاعده عند كل مره يغلق فيها القاعده ولكن اذا كنت تشارك هذه القاعده مع الآخرين في نفس الوقت ، فلن يتم حدث الإغلاق .

** الطريقه الثانيه وهي الأفضل للمحترفين هي ان تجعل الجداول في قاعده وجميع الأكواد والماكرو والنماذج والاستعلامات في قاعده أخرى وهذا يحل كثير من الأمور منها :

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

* القاعده الأساسيه ليست كبيره الحجم وانما بها ارتباطات الى جداول كبيره . وهي أسرع مما لو كانت قاعده واحده .

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

والكود اللازم لذلك هو :

-----

DBEngine.CompactDatabase strInputMDB, strOutputMDB

-----

حيث strInputMDB هو اسم القاعده الحالي (data.mdb فرضا)

و strOutputMDB هو اسم القاعده الذي تريد أن تضغط اليه (temp.mdb فرضا).

ماعليك الا أن تمسح القاعده data.mdb وتغير اسم القاعده temp.mdb الى data.mdb بواسطة الأمرين :

kill و FileCopy .

*** بالنسبة لضغط القاعده في فيجوال بيسك فالأمر أسهل استعن بالمثال التالي :

http://www.vb-world.net/databases/tip482.html

ربما توجد طرق أسهل اتمنى من أصحاب الخبره أن يفيدونا .

هذا الموضوع مغلق.

مواضيع مشابهة