End If جواب کلی : اساسا ، هر خطا در اکسس یا VB یک کد تولید می کند . برنامه نویسان باید یک بانک اطلاعات از کد خطاهایی که رخ می دهد داشته باشند تا بتوانند با چک کردن شماره خطا پیغام فارسی مناسب آن خطا را صادر کنند . بطور کلی دو روش کنترل خطا از این قرارند: ۱- اگر خطا مربوط به کل فرم باشد باید از طریق رویداد OnError فرم کنترل شود . معمولا خطاهایی که مربوط به کدنویسی ما نبوده و صرفا توسط اکسس و در واکنش به اشتباهات کاربر صادر می شود در این رویداد کنترل می شود . در این رویداد ، پارامتر DataErr حاوی کد خطاست. (بعبارت واضح تر اگر می خواهید کد مربوط به هر Error را شناسایی کنید می توانید این دستور در رویداد OnError فرم بنویسید: MsgBox DataErr ) بطور کلی بعد از اینکه کد خطاها را شناسایی کردید با نوشتن قالب برنامه زیر در رویداد OnError فرم می توانید خطاها را کنترل کنید : Dim Str as String Select Case DataErr Case 3022 Str=”اطلاعات وارده تکراری است” Case 2237 Str = “اطلاعات وارده در لیست وجود ندارد” ‘خط فوق برای مواردی است که یک مقداری که در کمبو باکس وجود ندارد ، تایپ شده باشد Case … Str=… …. End Select Msgbox Str Response = acDataErrContinue rContinue 2- اگر خطا مربوط به کدهایی باشد که خودمان در یک Sub نوشته ایم : در این روش باید در ابتدای Sub با دستور : <اسم زیر روال کنترل خطا> On Error Goto ، کنترل خطا را به یک روال کنترل خطا ارجاع دهیم. ( تمام کدهایی که ویزارد Command Button بطور خودکار در رویداد OnClick دکمه ها ایجاد می کند نمونه خوبی برای این روش هستند. ضمنا در این روش بکمک Err.Number کد خطا شناسایی می شود )