انجمن تخصصی اکسس

جامع ترین انجمن تخصصی اکسس در خانه اکسس ایران

Khalil-s
Khalil-s
آفلاین
0

با سلام خدمت مهندس کاویان

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

لطفاً برای جلوگیری از ورود کاربران به محیط vba  راهنمایی بفرمایید.

 

با تشکر از توجه شما

 

 

پاسخ ها (6)
  • پاسخ پذیرفته شده

    ptaher
    ptaher
    آفلاین
    یکشنبه 27 - ارديبهشت - 1394 03:53:11 - #لینک دائمی
    0
    سلام
    یه بحث کلی وجود داره به نام Error Handling که به شما کمک میکنه تا موقع بروز خطا در run-time کنترل برنامه از دست شما خارج نشه. چون در حالت کلی اگه که شما خطا یا exception رو هندل نکرده نباشین کنترل برنامه میاد دست VB run-time.
    سینتکس کلیش هم به این صورته که شما یه خط رو با یه لیبل علامت گذاری میکنین و به برنامه میگید که موقع بروز خطا به اون خط رجوع کنه...
    1 Sub|Function SomeName()
    2 On Error GoTo Err_SomeName ' Initialize error handling.
    3 ' Code to do something here.
    4 Exit_SomeName: ' Label to resume after error.
    5 Exit Sub|Function ' Exit before error handler.
    6 Err_SomeName: ' Label to jump to on error.
    7 MsgBox Err.Number & Err.Description ' Place error handling here.
    8 Resume Exit_SomeName ' Pick up again and quit.
    9 End Sub|Function

    برای هر Function یا Procedure هم میتونید Error Handling بنویسید.
    تشکر ها
    پاسخ به درستی کمینه شد نمایش
  • پاسخ پذیرفته شده

    پنج شنبه 31 - ارديبهشت - 1394 18:18:53 - #لینک دائمی
    0
    سلام
    شما مدیریت خطا رو در هر تابع یا زیر برنامه باید در درون خود اون قرار بدید ولی اگر یک عمل به غیر از اجرا کد منجر به ایجاد خطا بشه :
    مثل اینکه در یک فیلد primary key مقدار تکراری ثبت کنید . در این حالت بدون اینکه کدی در حال اجرا باشه داره خطا روی می ده .
    برای کنترل این خطا ها باید از رویداد on error فرم مربوطه کمک گرفت و اونجا خطا رو مدیریت کرد .
    توی اونجا دو تا آرگومان داریم که آرگومان اول dataerr در واقع کد خطایی هستش که روی میده و آرگومان دوم رو ما باید بعد از خطا مقدار دهی کنیم تا بعد از پیغامی که خودمون طراحی کردیم پیغام خطای اکسس نشون داده نشه .
    اسم این آرگومان response هست و معمولا در انتهای کار باید برابر 0 قرار بگیره .
    یعنی آخرین خط کنترل خطامون میشه :
    response=0
    با سپاس
    کاویان
    تشکر ها
    پاسخ به درستی کمینه شد نمایش
  • پاسخ پذیرفته شده

    Khalil-s
    Khalil-s
    آفلاین
    دوشنبه 28 - ارديبهشت - 1394 09:25:15 - #لینک دائمی
    0
    بسیار از جواب شما سپاسگزارم
    فقط در این روش اگر اشتباه نکنم برای هر تابع جداگانه باید Error Handling کرد ، آیا روشی وجود ندارد که بصورت کلی برنامه اکسس در مواجعه با هر گونه خطا در تمام توابع Error Handling بکنه ؟ یا حداقل برای تمام توابع در یک فرم فقط یک Error Handling معرفی کرد؟
    پاسخ به درستی کمینه شد نمایش
  • پاسخ پذیرفته شده

    Khalil-s
    Khalil-s
    آفلاین
    جمعه 01 - خرداد - 1394 04:31:17 - #لینک دائمی
    0
    ممنون از راهنمایی شما
    فقط یک قسمت در Option پنجره vba وجود داره که در زیر تصویر اون گذاشتم، که فکر میکنم اگر در حالت Break On All Errors تنظیم بشه تمام Error ها با حالت On Error Resume Next پاس بشوند.
    خیلی مایلم که نظر شما رو در این مورد بدونم
    https://i-msdn.sec.s-msft.com/dynimg/IC314067.jpg

    با تشکر
    پاسخ به درستی کمینه شد نمایش
  • پاسخ پذیرفته شده

    جمعه 01 - خرداد - 1394 13:15:03 - #لینک دائمی
    0
    سلام
    مورد خوبی به نظر می رسه فقط مشکلش اینه که فقط توی کامپیوتر شما تنظیم میشه و در صورتی که برنامه رو توی یک کامپیوتر دیگه با یک اکسس دیگه استفاده کنید تنظیم پیش فرض اون بر میگرده .
    اگر بتونید کد رجیستریشو پیدا کنید که این تنظیم رو بر می گردونه خوبه .
    پاسخ به درستی کمینه شد نمایش
  • پاسخ پذیرفته شده

    jaefari
    jaefari
    آفلاین
    یکشنبه 13 - تیر - 1395 15:24:15 - #لینک دائمی
    0
    سلام کسی درباره ی این پیام چیزی میدونه؟
    پیوست ها:
    پاسخ به درستی کمینه شد نمایش
پاسخ شما

کدام را میپسندید؟

مایکروسافت اکسس 64 بیت - 66.7%
مایکروسافت اکسس 32 بیت - 16.7%
مایکروسافت اکسس 2007 - 16.7%

كل آرا: 6
اين نظرسنجي به پايان رسيده است on: 19 مارس 2017 - 00:00

عضویت در خبرنامه

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