جامعه برنامه نویس

برگشت   جامعه برنامه نویس > مباحث عمومی > پایگاه‌های داده و استفاده از آنها > پایگاه داده MS Access

اطلاعیه

پایگاه داده MS Access سوالات خود درباره نحوه کار با Microsoft Access را در این بخش مطرح کنید.


مشاهده دست آورد نظرسنجی: آیا قبلاً فایلهای شما تخریب شده اند
بله - غیر قابل اصلاح بوده اند 25 37.31%
بله - قابل اصلاح بوده اند به طور ناقص 18 26.87%
بله - قابل اصلاح بوده اند به طور کامل 4 5.97%
خیر تا کنون با این مشکل مواجه نشده ام 20 29.85%
رای دهنده: 67. شما نمی توانید در این رای گیری رای بدهید

پاسخ
 
ابزار های تاپیک طریقه نمایش
قدیمی دوشنبه 16 دی 1387, 09:50 صبح   #1
nabeel
محروم شده
 
تاریخ عضویت: آذر 1387
محل زندگی: قزوین
پست: 555
تشکرها: 241
791 بار تشکر شده در 291 پست
Thumbs up راههای جلوگیری از تخریب فایلهای Access

ضمن سلام

در این سلسله مقالات قصد دارم شما رو با یکی از معضلاتی که فایلهای Access با اون دست به گریبان هستند و بعضاً ایجاد مشکلات غیر قابل جبرانی می کنند , آشنا کنم .

مساله تخریب فایلهای Access , مشکلی بوده که همه کاربرا مطمئناً کم و بیش همه با اون سر و کار داشتن و دارن .

این مشکل عملاً یکی از معضلاتی هست که همیشه Access اونو با خودش حمل میکرده .

در این میون میخوام کمک کنم که شما هم به عنوان کاربر برنامه بیکار نشینید و فقط نقش یک ناظر رو بازی نکنید . آستینها رو بالا بزنید و در رفع این مشکل Access , به کمک اون بیاید .

یک همکاری دو طرفه و مسالمت آمیز مطمئناً در نهایت کفه سود رو به سمت شما سنگینی میده .

تذکر : در این مقالات صحبتی از نرم افزارهای Recovery به عمل نمیاد چرا که اونها عملاً به عنوان نوش داروی بعد از مرگ سهراب عمل میکنن .

میخوایم به تمهیدات قبل از طوفان بپردازیم . پس اگه دوستان خواستن نظری بدن لطفاً فقط و فقط حول محور اصلی بحث باشه تا به این وسیله مقاله به یه مقاله تخصصی تبدیل بشه .

( توضیح : من یه چند روزی رو دارم میرم مسافرت , در اولین فرصت مطالب رو آماده میکنم و به تدریج روی سایت قرار میدم )

پس تا زمان ارائه مقالات , خوش باشید و مسرو
nabeel آفلاین است   پاسخ با نقل قول
13 کاربر از nabeel به خاطر این مطلب مفید تشکر کرده اند:
قدیمی دوشنبه 16 دی 1387, 16:35 عصر   #2
Mahsa Hatefi
کاربر دائمی
 
آواتار Mahsa Hatefi
 
تاریخ عضویت: اردیبهشت 1385
پست: 315
تشکرها: 105
38 بار تشکر شده در 27 پست
نقل قول: راههای جلوگیری از تخریب فایلهای Access

با سلام به استاد بزرگوار

از اينكه اين مسئله مهم را مطرح كرديد از شما سپاسگزارم . خدمتتان عرض كنم من دو مرتبه با چنين مشكلي مواجه شدم كه متاسفانه هيچ كس هم نتوانست كمكي بكند . اگر سرچ كرده باشيد تاپيكي در اين مورد هم بود كه چندين نفر اعلام فرموده بودند كه مشكل مشابهي دارند و قادر به حل آن هم نبوده اند .
از اين رو من تصميم گرفتم كه توي برنامه هام يه پروسه ذخيره خودكار از جداول به هنگام ورود و به هنگام خروج به نام تاريخ و ساعت بصورت زيپ شده در پوشه اي در پوشه برنامه ، نگهداري شود تا اگر ديگر كاربرم با چنين مشكلي مواجه شد اطلاعات زيادي از دست ندهد .
اما منبا اين مشكل مهم را نتوانستم پيدا كنم كه چطور چنين اتفاقي مي افتد .
تصوير خطا را هم مي توانيد در زير مشاهده بفرماييد .

موفق باشيد
__________________
ره بادیه رفتن به از نشستن باطل

آخرین ویرایش به وسیله Mahsa Hatefi : دوشنبه 18 مرداد 1389 در 06:54 صبح
Mahsa Hatefi آفلاین است   پاسخ با نقل قول
2 کاربر از Mahsa Hatefi به خاطر این مطلب مفید تشکر کرده اند:
قدیمی پنج شنبه 19 دی 1387, 13:33 عصر   #3
nabeel
محروم شده
 
تاریخ عضویت: آذر 1387
محل زندگی: قزوین
پست: 555
تشکرها: 241
791 بار تشکر شده در 291 پست
نقل قول: راههای جلوگیری از تخریب فایلهای Access

ضمن سلام به حضور دوستان

تخریب ( Corruption ) در موقعی رخ میده که ساختار باینری فایل به هم بریزه .

در این حالت یا فایل به صورت کامل غیر قابل استفاده میشه و یا اینکه به صورت رندوم خطاهایی رو با خودش به همراه میاره .

از اونجایی که فایل به صورت یک تک فایله , ممکنه در صورت تخریب , شما تمامی فایل رو از دست بدید .
تخریب فایلهای اکسس یه امر عمومیه , اگر چه خود اکسس برخی از خطاهای جزئی رو در هنگام خوندن و نوشتن بر روی جداول پوشش میده .
بنا بر این در اغلب موارد فایل شما تخریب میشه ولی شما از اون مطلع نمیشید .

این امر میتونه خیلی خطرناک باشه . چرا که خطاها به مرور افزایش پیدا میکنن و به در گذر زمان به خطاهایی جدی تر و خطرناک تر تبدیل میشن . تا جایی که عملاً بازیابی رو غیر ممکن و یا بسیار سخت میکنن , که حتی در حالت دوم هم نباید به بازیافت 100% فایل امیدوار باشید .

در اینجا به بررسی برخی موارد که میتونه منجر به تخریب فایل بشه میپردازیم :

نقص در سخت افزار :

عمده نقص سخت افزاری رو میشه در هارد دیسک و کارت شبکه جستجو کرد .

یک هارد بد سکتور بیشتر از هر سخت افزار دیگه ای علاقه منده که فایل شما رو با نقص مواجه کنه . کارت شبکه ای هم که در بخش ارسال Packet ها با اشکال مواجه باشه میتونه در صورتی که فایل شما از طریق شبکه به اشتراک گذاشته شده , اون رو با خطراتی جدی مواجه کنه .
متاسفانه Jet Database به Crash سیستم بسیار حساس بوده و کوچکترین خطایی رو در این بخش به سادگی از کنارش نمیگذره .
Jet بر مبنای file-system کار میکنه و عملاً هر گونه Crash , منجر به توقف در عملیات نوشتن و خوندن توسط اون میشه .
( یکی از مزیتهای SQL Server و یا سیستمهای مبتی بر Client Server در همین بخشه )

تداخل نرم افزاری :

استفاده از Add-Ins ها و ActiveX هایی که از ساختار طراحی دقیقی برخوردار نیستند واجرای اونها با خطا مواجه میشه , میتونه در تخریب خود فایل اکسس نقش موثری داشته باشه .
به خاطر داشته باشید که اونها همون فضایی رو از حافظه استفاد میکنن که Access به اونها اختصاص داده , پس نقص در اونها , منجر به نقص در خود Access هم میشه .

تداخل بین نسخه های مختلف JET :

خود JET دارای نسخه های متفاوتی هستش و به مرور مورد بازبینی و تکمیل قرار گرفته . به اشتراک گذاری یک فایل بین سیستمهایی که دارای نسخه های متفاوتی از JET هستند میتونه منجر به تخریب جزئی تا کلی در فایل بشه .

دسترسی چند گانه به فایل :

JET یک سیستم مبتی بر فایل میباشد ( بر خلاف SQL Sever که بر اساس Client-Server است )
JET جهت استفاده چند کاربر از یک فایل , از یک فایل قفل استفاده میکنه تا بدین وسیله بتونه هماهنگی لازم رو در هنگام نوشتن و خوندن اعمال کنه .
در هنگام اجرای فایل در داخل شبکه با توجه به بار ترافیکی شبکه در صورت ارسال پیغام Time Out از سوی شبکه , دستور در حالت معلق باقی میمونه . در اینگونه موارد فایل نیاز به Repair داره که متاسفانه در اغلب موارد این کار به درستی به انجام نمیرسه .
تا حد امکان از به اشتراک گذاری یک فایل بین چند کاربر , جداً خودداری کنید . در صورت الزام , حتماً اون رو در حالت Front End و Back End طراحی کنید

باگهای موجود در Access و JET

مطمئناً محصولات Microsoft هم خالی از نقص نیستند . بسیاری از خطاها پس از عرضه محصول به بازار آشکار میشه . عمده ترین دلیل عرضه Service Pack ها هم همین آشکار شدن نقائص موجود در داخل برنامه ها هستش .

طراحی ناقص و بی کفایت برنامه

در حالت استفاده از یک فایل در شبکه نیاز به تغییراتی در روال طراحی وجود داره که عملاً در صورت عدم توجه به اونها میتونیم پتانسیل تخریب فایل رو تا حد زیادی بالا ببریم .


قطع برق


قطع برق یکی از مواردی هستش که فایلهای Access به اون خیلی حساسن . خاموش کردن کامپیوتر بدون بستن فایل هم میتونه به همون اندازه مشکل ساز بوده باشه .

کمبود فضا بر روی Hard

در صورتی که فایل اکسس در هنگام اجرا با کمبود فضا مواجه بشه , این امر میتونه فایل رو در معرض یک خطر جدی قرار بده .

خب با این توضیحات میریم سراغ بحث دوم

راههای جلوگیری از تخریب :

نصب آخرین Service Pack و Hotfix ها جهت Access و JET

گزینه Name AutoCorrect رو غیر فعال کنید . این امکان اضافه شده به Access از همون ابتدا در کنار مزایای نسبی خودش مشکلاتی رو هم به همراه آورد .
این امکان هنوز در مراحل تکمیل قرار داره . موجب کاهش کارایی میشه و در تخریب فایل دست داره .

در داخل Subform های مبتنی بر Query اقدام به مخفی کردن فیلدهای مرتبط با foreign key ها نمایید

هرگز به صورت همزمان چند توسعه گر اقدام به تغییر و طراحی یک فایل نکنند

هرگز اقدام به ویرایش کدهای برنامه در هنگام اجرای اون نکنید

از کنار اولین خطای به نمایش در اومده از سوی اکسس به سادگی نگذرید . شاید این آخرین شانس شما برای Backup گیری , Compile , Compact و یا Repair نمودن فایل بوده باشه

اگه فایل Access دچار مشکل شد اجازه Repair اتوماتیک رو به اون ندید ( معمولاً اقدام به نمایش یک کادر در این خصوص میکنه ) , فایل ldb موجود در کنار فایل اصلی رو پاک کنید . از فایل اصلی یه کپی بگیرید و مجدداً اون رو باز و Compact/Repair رو اجرا کنید
در کدهای برنامه , هر آبجکتی رو که باز میکنید مجدداً ببندیدش . به طور مثال در مورد OpenRecordset ها , حتماً پس از اتمام کار اونها رو Close کنید

فراخوانی توابع API رو با دقت انجام بدید . روالهای کنترل خطای اونها در دست Access نیست .

فایل رو در دو بخش ایجاد کنید , اطلاعات و جداول در داخل یک فایل و مابقی آبجکتها در داخل فایلی دیگه

فایل رو در فرمت MDE تحویل بدید

تا وقتی که الزامی وجود نداره گزینه Record-Level Locking رو در حالت عدم انتخاب قرار بدید

تذکر :

هیچ پیشگیری موثر تر از تهیه نسخه پشتیبان نیست . تهیه نسخه پشتیبان رو یکی از اصلی ترین وظایف روزانه خودتون قرار بدید


در تاپیکهای بعدی سعی میکنم که بعضی از سرفصلهای اشاره شده رو باز تر کنم تا قابل درک تر باشن .


موفق باشید



موفق باشید

آخرین ویرایش به وسیله nabeel : پنج شنبه 19 دی 1387 در 13:35 عصر دلیل: تصحیح املایی
nabeel آفلاین است   پاسخ با نقل قول
قدیمی جمعه 20 دی 1387, 09:53 صبح   #4
nabeel
محروم شده
 
تاریخ عضویت: آذر 1387
محل زندگی: قزوین
پست: 555
تشکرها: 241
791 بار تشکر شده در 291 پست
نقل قول: راههای جلوگیری از تخریب فایلهای Access

با سلام

در این بخش میخوام به لزوم طراحی برنامه در حالت Front End / Back End اشاره کنم

در واقع این شیوه طراحی همون جدا کردن اینترفیس برنامه از اطلاعات هستش .

عملاً در حالت استفاده اشتراکی از یک فایل توسط چند کاربر به صورت همزمان , استفاده از این شیوه الزامیه .

این شیوه طراحی دو مزیت اصلی زیر رو داره :

- امکان سرویس دهی و تغییرات آتی برنامه رو به سهولت امکان پذیر میکنه
- به علت جدا بودن اطلاعات از اینترفیس ( فرمها و گزارشها و مابقی آبجکتها ) , بار ترافیکی روی شبکه به طرز چشمگیری کاهش پیدا میکنه . این امر باعث کاهش خطاهای Time Out میشه و ضمناً اطلاعات در حالت محفوظ تری باقی میمونن .

در اینگونه حالات در صورت بروز نقص در فایل در %90 مواقع مشکل به سادگی با جایگزینی Front End برنامه حل میشه .

اکسس دارای یک Add-In داخلی جهت انجام این کار و جداسازی اطلاعات هستش , شما میتونید به اون در داخل مسیر زیر دسترسی پیدا کنید :

Tools | Database Utilities | Database Splitter

موفق باشید
nabeel آفلاین است   پاسخ با نقل قول
14 کاربر از nabeel به خاطر این مطلب مفید تشکر کرده اند:
قدیمی جمعه 20 دی 1387, 19:36 عصر   #5
nabeel
محروم شده
 
تاریخ عضویت: آذر 1387
محل زندگی: قزوین
پست: 555
تشکرها: 241
791 بار تشکر شده در 291 پست
نقل قول: راههای جلوگیری از تخریب فایلهای Access

سلام

در ادامه بحث Name AutoCorrect رو بیشتر باز میکنم

این امکان جدید اولین بار در Access 2000 به اون اضافه شد .

در نسخه های قبلی در صورت تغییر در نام یک فیلد موجود در جدول , شما مجبور بودید در هرجایی که نامی از اون فیلد برده شده ( پرس و جوها , فرمها و ... ) بود به صورت دستی تغییرات رو بدید ولی این امکان نورسیده Access به شما این امکان رو میده که این پروسه به صورت خودکار به انجام برسه !!

ولی واقعیت اینکه که Name AutoCorrect بیشتر جنبه تبلیغاتی داره ( لااقل تا نسخه 2003 اون ) . در بسیاری از مواقع تغییرات رو به صورت کامل اعمال نمیکنه و همچنان رد پایی از عدم تغییر رو به جا میذاره .
همین امر باعث میشه که شما عملاً نتونید کل پروسه تغییر رو به اون بسپورید و به ناچار باید خودتون هم وارد عمل بشید !!
گو اینکه این امکان گنجونده شده عملاً فاقد هیچگونه کنترلی در بخش کد نویسیهای انجام شده هستش . یعنی اگه در بخشی از کدهای برنامه به نامی قبل از تغییر اشاره کرده باشید , اکسس هیچگونه تغییری رو در داخل کدهای ارجاع داده شده به اون پس از تغییر نامش , به انجام نمی رسونه .

متاسفانه ردپاهای غلطی که این امکان در پشت برنامه به جا میذاره , پتانسیل برنامه رو برای تخریب تا حد زیادی بالا میبره .

قبل از شروع طراحی این گزینه رو در حالت غیر فعال قرار بدید و عطای اون رو به لقاش ببخشید .

توجه کنید : قبل از شروع طراحی باید اینکار رو انجام داده باشید

در صورتی که فایلی رو قبلاً طراحی کردید , یه فایل جدید ایجاد کنید , Name AutoCorrect رو در داخل اون غیر فعال کنید و کلیه آبجکتهای موجود در داخل فایل اول رو به داخل فایل دوم Import کنید , فایل رو Compact/Repair کنید و به طراحی ادامه بدید .

توصیه : در این خصوص هیچ پیشگیری بهتر از صرف دقت بیشتر در طراحی اولیه نیست

محل این گزینه در داخل مسیر زیر هستش

Tools | Options | General

موفق باشید
nabeel آفلاین است   پاسخ با نقل قول
10 کاربر از nabeel به خاطر این مطلب مفید تشکر کرده اند:
قدیمی جمعه 20 دی 1387, 21:03 عصر   #6
e601
کاربر دائمی
 
تاریخ عضویت: خرداد 1387
پست: 204
تشکرها: 55
223 بار تشکر شده در 84 پست
نقل قول: راههای جلوگیری از تخریب فایلهای Access

سلام نبیل جان
خسته نباشید

اگه ممکنه در مورد زیر یکم بیشتر توضیح بدید
نقل قول:
متاسفانه ردپاهای غلطی که این امکان در پشت برنامه به جا میذاره , پتانسیل برنامه رو برای تخریب تا حد زیادی بالا میبره .
قبل از شروع طراحی این گزینه رو در حالت غیر فعال قرار بدید و عطای اون رو به لقاش ببخشید .
چرا نباید از این گزینه استفاده کنیم؟ به هر حال در صورتی که احتیاج به تغییری در بخشهایی که گفتید داشته باشیم ناگزیر به اصلاح اونها هستیم. چرا قسمتی از اینکار رو قابلیت مذکور انجام نده؟!!!
e601 آفلاین است   پاسخ با نقل قول
کاربرانی که به خاطر مطلب مفید e601 از وی تشکر کرده‌اند:
قدیمی جمعه 20 دی 1387, 21:26 عصر   #7
nabeel
محروم شده
 
تاریخ عضویت: آذر 1387
محل زندگی: قزوین
پست: 555
تشکرها: 241
791 بار تشکر شده در 291 پست
نقل قول: راههای جلوگیری از تخریب فایلهای Access

با سلام

ببینید من عرض کردم که قابل اطمینان نیست . حتی اون بخشهایی رو هم که تغییر داده بهتره که مورد بازبینی قرار بگیره ! تا احیاناً خطایی به جا نمونده باشه . اگه پروسه تغییر صد درصد اثر بخش بود , بحثی وجود نداشت ولی وقتی که توی انجام کار ابهام و شک وجود داره و شما در نهایت باید خودتون مجدداً هم موارد رو چک کنید با توجه به همین موضوع توصیه کردم که , از استفاده اون صرف نظر کنید .

من تنها به ارائه چند تا از رفرنسهایی که روی سایت رسمی خود شرکت مایکروسافت به مشکلاتی که به نوعی با این گزینه در ارتباط بودن اشاره میکنم .

امیدوارم که جوابگو بوده باشه .


البته روی سایت Microsoft نمونه های زیادی در این خصوص وجود داره .

موفق باشید
nabeel آفلاین است   پاسخ با نقل قول
9 کاربر از nabeel به خاطر این مطلب مفید تشکر کرده اند:
قدیمی شنبه 28 دی 1387, 21:07 عصر   #8
nabeel
محروم شده
 
تاریخ عضویت: آذر 1387
محل زندگی: قزوین
پست: 555
تشکرها: 241
791 بار تشکر شده در 291 پست
نقل قول: راههای جلوگیری از تخریب فایلهای Access

سلام به حضور دوستان عزیز

در اینجا سعی میشه به بعضی راههای تشخیص یک فایل تخریب شده اشاره بشه

- در صورتی که فایل رو در داخل شبکه اجرا میکنید , اون رو از روی کامپیوتر خودتون تست کنید . اگه بدون مشکل به کار ادامه داد , مشکل ناشی از نقص موجود در شبکه شماست . معمولاً ریشه این نقص رو میتونید در داخل کارت شبکه پیدا کنید
- فایل رو بر روی دستگاه دیگه ای تست کنید . در صورتی که بدون مشکل کارکرد , مشکل میتونه مربوط به تداخل نرم افزاری پیش اومده با نرم افزاری که اخیراً نصب کردید باشه و یا نقص مرتبط با اختلال بوجود اومده در سخت افزار شما باشه ( به طور مثال بد سکتور شدن هارد دیسک شما )
- لیست پیغامهای خطا رو مطابق با چک لیست زیر بررسی کنید

Unrecognized Database Format

مطمئن بشید که در حال استفاده از نسخه مناسبی از Access هستید . فایلهای کمپایل شده در نسخه های بالاتر توسط نسخه های پایینتر باز نمیشن

This database is in an unrecognized format

ریشه این نقص نیز مشابه مورد بالایی هستش

Enter password prompt

در صورتی که قبلاً رمز عبوری برای فایلتون در نظر نگرفتید , در هنگام باز کردن فایل برنامه از شما درخواست رمز عبور میکنه ( در این حالت ابتدا با ابزارهای کشف رمز سعی کنید که رمز اون رو پیدا کنید )

The Microsoft Jet Database Engine cannot open the file

Jet database engine از تغییر اطلاعات سر باز میزنه و اعلام میکنه که یک کاربر دیگه در حال تغییر همون اطلاعاته , در حالی که شما تنها کاربری هستید که در حال کار با برنامه اید

AOIndex is not an index in this table

This database is in an unexpected state; Microsoft Access can't open it

این پیغام میتونه در حالتی ایجاد بشه که شما از داخل منوی Tools اقدام به Compact/Repair فایلتون نکرده باشید ( استفاده از روش DAO )

You do not have the necessary permissions to open this object. Please contact your system administrator.


مشاهده پیغام بالا در هنگامی که User Level Security فعال نشده باشه

Microsoft Access has encountered a problem and needs to close. We are sorry for the inconvenience
.

Unexpected error 35012


نقص در شبکه

This object needs a newer version of the Microsoft Jet database module


قبل از اینکه به این ننتیجه برسید که فایل تخریب شده از نصب آخرین Service Pack مطمئن بشید

Operation failed - too many indexes - reduce the number and try again

هنگ کردن Access در هنگام باز کردن یک فایل

The instruction at "0x????????" referenced memory at "0x????????". The memory could not be 'written
'
هر نوع Add-Ins نصب شده رو از حالت نصب خارج کنید

The Visual Basic for Applications Project in this database Is Corrupt


The Microsoft Jet Database Engine could not find object Msys*/databases


Could not find field '***'

Invalid Bookmark

پاک شدن اطلاعات موجود در جداول به صورت رندوم

نمایش #DELETED# در هنگامی که فایل به صورت چند کاربره مورد استفاده واقع نشده

توضیح : مواردی که با رنگ قرمز متمایز شدن , به نقائصی با شدت تخریب بالا اشاره میکنن . این نقصائص میتونن تا حد از دست رفتن کلی فایل هم جلو رفته باشن . در صورتی که حجم فایل زیاد باشه باید بخت و اقبال بلندی داشته باشید تا فایل به صورت کامل Recover بشه ! ( البته اگه Recover بشه )


یادآوری

همیشه از فایلهای مهم خودتون BackUp بگیرید . هیچ روشی موثر تر و ساده تر از این روش نیست


تا مبحثی دیگه خدا نگهدار
nabeel آفلاین است   پاسخ با نقل قول
12 کاربر از nabeel به خاطر این مطلب مفید تشکر کرده اند:
قدیمی جمعه 04 بهمن 1387, 10:40 صبح   #9
hamed_air_line
کاربر جدید
 
تاریخ عضویت: اردیبهشت 1387
پست: 25
تشکرها: 5
0 بار تشکر شده در 0 پست
نقل قول: راههای جلوگیری از تخریب فایلهای Access

mde
با سلام جرا وقتی فرم های ساخته شده در اکسس به بیش از 4 فرم میشه تبدیل به mde نیم شه و سیستم میره تو فکر
hamed_air_line آفلاین است   پاسخ با نقل قول
قدیمی شنبه 05 بهمن 1387, 19:09 عصر   #10
nabeel
محروم شده
 
تاریخ عضویت: آذر 1387
محل زندگی: قزوین
پست: 555
تشکرها: 241
791 بار تشکر شده در 291 پست
نقل قول: راههای جلوگیری از تخریب فایلهای Access

با سلامی دوباره

در بخش آخر این مبحث اشاره ای دارم به برخی روشها که میتونه به شما در اصلاح فایل تخریب شده کمک کنه .

- از فایل تخریب شده خودتون نسخه پشتیبان تهیه کنید

متاسفانه بعضی ابزارهای اصلاحی موجود در بازار نتیجه خوشایندی رو به همراه ندارن , قبل از اینکه بوسیله اونها بخواید فایلتون رو اصلاح کنید حتماً یه نسخه پشتیبان از اون فایل تهیه کنید

- پاک کردن فایل ldb

اکسس در هنگام کار اقدام به ساخت فایلی با پسوند ldb و با همون نام اصلی در کنار فایل شما میکنه . در اولین قدم اون فایل رو پاک کنید . اگه به شما اجازه پاک کردن اون فایل داده نمیشه فایل شما هچنان باز مونده . در داخل Task Manager پروسه اجرایی Access رو غیر فعال کنید . اگه مشکل پابرجا بود سیستم رو Restart کنید

- سعی کنید اطلاعات رو از محل Backup قبلی به روز رسانی کنید

تخریب عملاً جزئی از ساختار اشیاء اکسس هستش یعنی اینکه آبجکت در داخل فایل اکسس آسیب میبینه . از همین رو سعی در حذف آبجکتهای معیوب ( عموماً در اکثر مواقع تنها نیاز به حذف جداول وجود داره ) داشته باشید و پس از اون مرحله آبجکتهای سالم رو از داخل BackUp قبلی گرفته شده , Import کنید

عموماً چهار روش برای جایگذاری مجدد اطلاعت وجود داره , که به ترتیب کارایی و احتمال بازنشانی موفق لیست میکنم :

حذف جداول و استفاده از Import Wizard جهت ورود اونها به داخل فایل
حذف تنها اطلاعات جدوال و وارد نمودن مجدد اطلاعات اونها ( از طریق Append Query )
حذف تنها اطلاعات جدوال و وارد نمودن مجدد اطلاعات اونها ( از طریق DAO )
حذف تنها اطلاعات جدوال و وارد نمودن مجدد اطلاعات اونها ( از طریق ADO )


- استفاده از Compact/Repair

شما از این امکان گنجونده شده در داخل اکسس میتونید جهت اصلاح فایل استفاده کنید .توجه کنید که در بعضی مواقع استفاده از این روش میتونه وخامت موضوع رو بیشتر کنه , پس قبل از اجرای اون حتماً از فایل نسخه پشتیبان تهیه کنید .

- استفاده از Microsoft Jet Compact Utility

این ابزار جهت اصلاح بعضی نقائص عمده میتونه کاربرد داشته باشه . این محصول ارائه شده از سوی مایکروسافت عملاً کارایی بیشتری از امکان گنجونده شده در داخل خود اکسس داره

میتونید اون رو از داخل مسیر زیر دریافت کنید :


اطلاعات بیشتر در خصوص این محصول رو میتونید در آدرس زیر به دست بیارید


- کدهای VBA رو Decompile کنید

اجرای فایل اکسس در داخل کامپیوترهای دیگه که از کتابخونه های متفاوتی استفاده میکنن میتونه به کدهای VBA کمپایل شده آسیب برسونه

شما میتونه از دستور زیر در مواقعی که به داخل فایل دسترسی دارید ولی با خطای جدی در هنگام مواجه با کدهای برنامه روبرو میشید استفاده کنید

C:\Program Files\Microsoft Office\Office\MsAccess.exe /decompile C:\FileName.mdb

پس از انجام عملیات فوق , فایل رو ببندید و پس از بازکردن اون , کدهای برنامه رو مجدداً Compile کنید

در پایان در صورتی که موفق نشدید , از ابزارهای Recovery جهت انجام اینکار استفاد کنید

توضیح : ابزارهای Recovery هم معمولاً از همین تکنیکها استفاده میکنن ولیکن شما رو از پیچیدگیهای فنی اونها دور نگه میدارن

یکی از بهترین ابزارهای Recovery در این خصوص نرم افزار accessfix هستش آدرس وب سایت اون هم به شرح زیره


تذکر مجدد

باور کنید هیچ راهی بهتر از تهیه نسخه پشتیبان نیست , این کار ساده رو انجام بدید تا هیچ وقت نگران از دست رفتن اطلاعاتتون نباشید


موفق باشید
nabeel آفلاین است   پاسخ با نقل قول
14 کاربر از nabeel به خاطر این مطلب مفید تشکر کرده اند:
پاسخ

بوک مارک کردن این تاپیک

Tags
Access, Access Corruption, corruption, database, Fail


کاربرانی که این تاپیک را مشاهده میکنند: 1 (0 کاربران و 1 مهمان)
 
ابزار های تاپیک
طریقه نمایش

قوانین ایجاد تاپیک در تالار
شما نمی توانید تاپیک جدید ایجاد کنید
شما نمی توانید به تاپیک ها پاسخ دهید
شما نمی توانید ضمیمه ارسال کنید
شما نمی توانید پاسخ هایتان را ویرایش کنید

BB code روشن است
خندانک ها روشن هستند
[IMG] روشن است
HTML خاموش است

پرش



واحد زمان برحسب ساعت لندن +3.5. ساعت هم اکنون 01:12 صبح است.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 1389, Jelsoft Enterprises Ltd.
خدمات میزبانی این سایت تحت پوشش شرکت ایران هاست می باشد.