مقصود سایت آفیس باز این است که همیشه راه های کاربردی به شما اموزش دهد تا هنگام انجام دادن پروژه هاتون کمتر به مشکل بخورید،در این آموزش نیز هدف این است که خطاهای احتمالی در اکسس را بررسی کنیم و آنهارا ضربه فنی کنیم.
برطرف کردن خطاها در اکسس
بعضی وقتها پیش میاد که به دلایل مختلف اکسس به کاربر پیغام خطا میده و ادامه کار رو انجام نمیده و تصویری مثل تصویر زیر نمایش میده :
حالا چطوری میشه این خطاها رو برطرف کرد و یا اینکه پیغام مناسبی به کاربر نمایش بده ؟
یکی از راههای پرکاربرد استفاده از 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
حالا در صورتی که داده ای وارد نشه و یا مقدار متنی وارد بشه پیغام خطا تغییر میکنه .
امیدوارم که این آموزش مورد توجهتون قرا بگیره البته شما میتونید مسیج باکسها رو هم به دلخواه و سلیقه خودتون طراحی کنید که قبلا در موردش صحبت کردیم.
استاد اگه امکان داره به صورت ویدئویی اموزش بدین
ممنون از راهنمایی شما
جناب بحری
اینقدر تدریستون عالیه که من هر خط و برنامه ای اجرا می کنم با وجود اینکه کلی اشکال بخاطر بی تجربه بودن خودم اتفاق می افته ولی وقتی خودم اونا را حل می کنم کلی خوشحال می شم و برای شما دعا کنم
انشالله شاهد موفقیت شما در تمام زندگی باشیم
بیشتر از اون که هدف اقتصادی داشته باشید هدف آموزش دارید و همین هست که آموزشتون به دل می شینه
سپاسگزارم ازشما
سلام اقای بحری. من یک مشکلی در اجرای ویژوال بیسیک اکسس دارم.اگر بخوام کدی بنویسم برای یک فیلد و بخوام از ماکرو نویسی یا کد نویسی استفاده کنم ، به محض کلیک کردن روی ایکون مربوطه ، اکسس استپ میکنه و بسته میشه . نمیدونم ایرادش رو از کجا باید برطرف کنم
سالم
مطلب زیر رو مطالعه بفرمائید لطفا
https://officebaz.ir/%D9%BE%D8%A7%DA%A9-%DA%A9%D8%B1%D8%AF%D9%86-%DA%A9%D8%A7%D9%85%D9%84-%D8%A2%D9%81%DB%8C%D8%B3-%D9%88-%D9%86%D8%B5%D8%A8-%D9%88%D8%B1%DA%98%D9%86-%D8%AC%D8%AF%DB%8C%D8%AF-%D8%A2%D9%81%DB%8C%D8%B3/
فایل اکسز با 2007 ساخته شده وبا همان 2007 میخوام اجرابشه اما چون یکبار حذف ودوباره نصب کردم دیگه فرم ها بازمی شوند اما اجرا ندارند میشه راهنماییم کنید.ممنونم
سلام خسته نباشید
یک فایل اکسس دارم که خیلی اطلاعاتش برام مهمه هنگام باز کردن خطای unrecognized database format رو میده امکانش هست فایلو براتون بفرستم ببینید درست میشه یا نه؟
سلام از طریق واتس اپ در تماس باشین لطفا
09122279351
سلام
من از On Error GoTo problem استفاده می کنم
ولی موقع اجرا باز هم به من همون پنجره خطای خود vb رو نشون میده
خیلی عجیبه
نیازی به باز کردن کتابخانه یا تنظیم خاصی تو vba نیست؟
سلام کدهایی که نوشتین باید بررسی بشه