ارورهای اکسس

برطرف کردن خطاها در اکسس یا استفاده از error handling

ارورهای اکسس

مقصود سایت آفیس باز این است که همیشه راه های کاربردی به شما اموزش دهد تا هنگام انجام دادن پروژه هاتون کمتر به مشکل بخورید،در این آموزش نیز هدف این است که خطاهای احتمالی در اکسس را بررسی کنیم و آنهارا ضربه فنی کنیم.

برطرف کردن خطاها در اکسس

بعضی وقتها پیش میاد که به دلایل مختلف اکسس به کاربر پیغام خطا میده و ادامه کار رو انجام نمیده و تصویری مثل تصویر زیر نمایش میده :

 

خطاها در اکسس
خطاها در اکسس

حالا چطوری میشه این خطاها رو برطرف کرد و یا اینکه پیغام مناسبی به کاربر نمایش بده ؟

یکی از راههای پرکاربرد استفاده از error handling هست که معنی لغوی اون میشه برطرف کردن خطاها که با یه مثال ساده در ادامه توضیح میدم که چطوری از این قابلیت استفاده کنید.

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

به کد زیر توجخ کنید :

MsgBox Me.Text0 / Me.Text2

نتیجه کد بالا حاصل تقسیم تکست باکس صفر به تکست باکس 2 رو در قالب یه مسیج باکس نمایش میده .

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

On Error GoTo Problem
MsgBox Me.Text0 / Me.Text2
Problem:
MsgBox “یکی از مقادیر صفر می باشد”

خط اول کد بالا به اکسس میگیم که اگه خطایی رخ داد پرش کن به کدی که با Problem مشخص شده ( هر اسمی میتونید براش در نظر بگیرید)

 که نتیجه مانند تصویر زیر می شود .

برطرف کردن خطا در اکسس
برطرف کردن خطا در اکسس

حالا یه مشکلی وجود داره

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

اگه به تصویر اول این پست دقت کنید شماره خطا توی اون نوشته شده ، نوشته Runtime Error 11 که یعنی شماره خطا 11 هست ما میتونیم از همین شماره خطا استفاده کنیم و به اکسس بگیم اگه شماره خطا یازده بود که یه پیغام نمایش بده مبنی بر اینکهخ یکی از مقادیر صفر هست . در غیر اینصورت بگه که داده ها نامعتبر است ویا وارد نشده است که کدش به صورت زیر میشه

On Error GoTo Problem
MsgBox Me.Text0 / Me.Text2
Exit Sub

Problem:
If Err.Number = 11 Then
MsgBox ” یکی از مقادیر صفر می باشد”
Else
MsgBox “داده ها نامعتبر است ویا وارد نشده است”
End If

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

امیدوارم که این آموزش مورد توجهتون قرا بگیره البته شما میتونید مسیج باکسها رو هم به دلخواه و سلیقه خودتون طراحی کنید که قبلا در موردش صحبت کردیم.

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

10 دیدگاه دربارهٔ «برطرف کردن خطاها در اکسس یا استفاده از error handling»

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

  2. سلام اقای بحری. من یک مشکلی در اجرای ویژوال بیسیک اکسس دارم.اگر بخوام کدی بنویسم برای یک فیلد و بخوام از ماکرو نویسی یا کد نویسی استفاده کنم ، به محض کلیک کردن روی ایکون مربوطه ، اکسس استپ میکنه و بسته میشه . نمیدونم ایرادش رو از کجا باید برطرف کنم

  3. فایل اکسز با 2007 ساخته شده وبا همان 2007 میخوام اجرابشه اما چون یکبار حذف ودوباره نصب کردم دیگه فرم ها بازمی شوند اما اجرا ندارند میشه راهنماییم کنید.ممنونم

  4. سلام خسته نباشید
    یک فایل اکسس دارم که خیلی اطلاعاتش برام مهمه هنگام باز کردن خطای unrecognized database format رو میده امکانش هست فایلو براتون بفرستم ببینید درست میشه یا نه؟

  5. سلام
    من از On Error GoTo problem استفاده می کنم
    ولی موقع اجرا باز هم به من همون پنجره خطای خود vb رو نشون میده
    خیلی عجیبه
    نیازی به باز کردن کتابخانه یا تنظیم خاصی تو vba نیست؟

پیمایش به بالا