سؤال

أنا على العميل القيام ببعض الإصلاحات السريعة إلى الوصول إلى التطبيق.كان ذلك حين كان يذهب مع النفاذ ، ولكن أنا يتعافى بسرعة.ومع ذلك ، لقد اكتشفت مشكلة مثيرة للاهتمام:

بعض التقارير أحصل على "حذف سجل" خطأ.لقد راجعت التقارير, و يبدو أن هناك مشكلة مع طاولة واحدة.عند فتح الجدول يمكنني العثور على سجل فيها جميع الأعمدة يتم وضع علامة "#deleted".إذا من الواضح أن هذا الصف يبدو أن يكون الجاني.ومع ذلك ، عندما أحاول حذف هذا الصف ، لا شيء يحدث حقا.إذا كنت إعادة فتح الجدول في الصف لا يزال موجودا.

هل هناك فساد في db ؟ كيف يمكنني إزالة هذا السجل ؟

تحرير: انها MS2000-الإصدار

الحل: ببساطة ضغط/إصلاح لا تعمل.قمت بتحويل قاعدة البيانات إلى عام 2003 تنسيق الملف بدلا من ذلك ، والتي لم خدعة.لقد تميز الجواب الأول مما يشير إلى ضغط/إصلاح لأنه أشار لي في الاتجاه الصحيح.وذلك بفضل!

هل كانت مفيدة؟

المحلول

هل حاولت المدمج في الوصول مضغوط/أداة إصلاح ؟ هذا ينبغي أن تدفق حذف السجلات من قاعدة البيانات.

الموقع الدقيق يختلف وفقا إصدار Access الذي تقوم بتشغيله ، ولكن في Access 2003 تحت أدوات > أدوات مساعدة لقواعد البيانات > ضغط وإصلاح قاعدة البيانات الخاصة بنا.بعض الإصدارات السابقة من Access قد أدوات منفصلة اثنين - واحد مضغوط واحد للإصلاح - ولكن تم الوصول إليها من موقع مماثل.إذا كانت منفصلة عن النسخة العميل, تحتاج إلى تشغيل على حد سواء.

يجب أن تكون هذه عملية غير مدمرة ، ولكن سيكون من الأفضل أن اختبار هذا على نسخة من ملف MDB (أعتذر عن بديهيا).

نصائح أخرى

توني Toews الوصول MVP ، دليل شامل الفساد:

الفاسدة Microsoft Access المصارف التعليمات

  • بعض أعراض الفساد
  • تحديد العمل الذي تسبب في الفساد
  • الفساد الأسباب
  • لاسترداد البيانات الخاصة بك

بوصفها جانبا ، فك مفيد جدا فرز الغريب الأحداث عندما الترميز وتحسين بدء مرات.

يمكنك أيضا محاولة هذا أداة سطر الأوامر

//أندي

ضغط و المستوردة لن يحل المشكلة بالنسبة الخطأ ذكرت ، والتي من الواضح تالف المؤشر على حقل "مذكرة".الشيء الوحيد الذي يمكنك القيام به هو حذف وإعادة إنشاء السجل الذي يسبب المشكلة.وكنت بحاجة إلى العثور على طرق تحرير مذكرة البيانات (أو القضاء على حقول المذكرة -- هل تحتاج حقا إلى أكثر من 255 حرفا أو لا؟) لا يعرضك إلى خطر الفساد.وهذا يعني تجنب عناصر تحكم منضمة في استمارات حقول المذكرة.

بدلا من, استخدام مربع نص غير منضم في نموذج OnCurrent الحدث ، تعيين البيانات الحالية من شكل الكامنة مصدر السجل:

  Me!txtMyMemo = Me!MyMemo

لحفظ التعديلات إلى غير منضم التحكم في استخدام التحكم في خاصية الحدث:

  Me!MyMemo = Me!txtMyMemo
  Me.Dirty = False        ' save the whole record

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

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

وبصرف النظر عن خيارات نشرت بالفعل أعلاه ، لقد استعملت طريقة بسيطة أخرى aswell:ببساطة إنشاء ملف MDB ثم استيراد كافة الكائنات من تلف واحد.لا تنسى أن تحصل على نظام و/أو كائنات خفية عندما تذهب في هذا الطريق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top