PDA

View Full Version : مبتدی: چگونه می توان خطای Procedure too large را رفع کرد؟



Seyed_Hamid
یک شنبه 05 مرداد 1393, 10:58 صبح
با سلام
من با استفاده از راهنمایی های دوستان گرانقدر و نمونه فایلهای ارزشمند این تالار معزز، در حال نوشتن برنامه ای برای دفتر خودم هستم ولی در وسطهای کار با پیغام خطای Procedure too large مواجه شده ام و تاکنون نتوانستم آن را رفع کنم. لطفا کمکم کنید.(روی دکمه «محاسبه» کلیک کنید) ممنون

tanha50
سه شنبه 07 مرداد 1393, 00:30 صبح
دوست عزیز سلام
برنامه شما مشکلی نداره
احتمالا مشکل از آفیستون باشه

Seyed_Hamid
چهارشنبه 08 مرداد 1393, 16:48 عصر
با سلام و سپاس
لطفاً بیشتر توضیح بدهید

New Account
چهارشنبه 08 مرداد 1393, 21:13 عصر
سلام Seyed_Hamid (http://barnamenevis.org/member.php?67709-Seyed_Hamid)

چند نکته:

نوشتن کل دستورات در داخل یک پراسیجر مطمئنا شما رو در آینده وقتی قصد داشته باشید تغییری در کدهاتون بدید و یا اون رو اشکال زدایی کنید , با مشکل مواجه میکنه

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

سعی کنید کدتون رو به قطعات کوچکتر بشکنید به طو مثال


Private Sub CommandSample_Click()
Statement A
Satament B
End Sub

در این بخش ما دو دسته دستورات ( فرضا خیلی طولانی ) با نامهای A و B داریم

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


Sub A()
StatementA
End Sub


Sub B()
Statement B
End Sub

و حال در نهایت دستور اول رو میتونیم به صورت زیر تغییر بدیم و بازنویسی کنیم :


Private Sub CommandSample_Click()
Call A
Call B
End Sub


و یا



Private Sub CommandSample_Click()
StatementA
Call B
End Sub


حال در خصوص مشکل شما , خطا ناشی از طولانی بودن بیش از حد دستورات هستش به طور مثال در نمونه خودتون از بخش بعد از کامنت زیر رو در داخل یک Sub جداگانه , ذخیره و به روش توضیح داده شده بالا فراخوانی کنید :


' MAT : Masahate Arseye Tafkikshode
' STA : Sale Tafkike Arse



( در واقع حالت دوم رو انجام بدید یعنی بخشی از دستور رو بذارید توی رویداد کلیک باقی بمونه و قسمت دوم رو ببرید توی یک ساب پراسجر دیگه )

تا مشکل شما حل بشه

موفق باشید

Access2013
پنج شنبه 09 مرداد 1393, 23:37 عصر
سلامممنونم از لطفتون چقدر مطلب مفید و خوبی بود چون خیلی مورد این شکلی داشتم که به مشکل برمیخورد خواستم دوستان دیگه هم تو این مورد دقت کنند روش ارائه شده فوق العاده است بازم ممنون خدا خیرت بده اسم این کار یاد دادن مهارت ماهیگیری بود

azp4525
دوشنبه 02 اسفند 1400, 21:03 عصر
با سلام
لطفا در مورد رفع این مشکل در vba اکسل مثالی ترجیحا در ماکرو نویسی تو سایت ذکر بفرماید