انجمن تخصصی اکسس
جامع ترین انجمن تخصصی اکسس در خانه اکسس ایران
0
سلام
یک سئوال در مورد طراحی ساب فرم داشتم که آیا می توان بجای استفاده از چندین ساب فرم در یک فرم و شلوغ شدن آن فقط از چند دکمه در فرم استفاده کرد و با زدن هر دکمه ساب فرم مربوطه صدا زده شود البته با شرایط برقراری ارتباط کلید
برای شفاف شدن سئوالم لینک یک نمونه گذاشتم:
http://www.uplooder.net/cgi-bin/dl.cgi?key=033a673d60b4ddf91463459d2fba9fd2
پاسخ پذیرفته شده
3
با سلام
بله این کار از طریق کد نویسی پشت کلید هایی مربوطه امکان پذیر می باشد .
اتفاقا روش بسیار مناسب تری هم هست . و یکی از مواردی است که ما آن را در بهینه سازی پایگاه های داده مطرح می کنیم .
چرا که در روش اول چندین رکوردست با یکدیگر باز شده و این مطلب سرعت کار با پایگاه داده و همچنین عملکرد آن را به هنگام استفاده در بستر شبکه دچار مشکل می سازد ولی در روش دوم ( پیشنهادی شما ) این مشکلات حل شده و هر بار به غیر از فرم اصلی تنها یک رکوردست باز شده است .
انجام اینکار در مثال مورد نظر شما به شرح زیر می باشد :
1- ابتدا فیلد های link master fields و link child fields رو برابر با مقدار ID قرار دهید .
2- کد های زیر را به ترتیب در رویداد های On click دکمه sub form A1 و sub form A2 و Sub form A3 بنویسید:
در ضمن در اکسس 2010 کنترلی جدید به نام navigation اضافه گردیده که دقیقا همین وظیفه را بر عهده دارد .
هنگام استفاده از این کنترل که یک کنترل ترکیبی از چند دکمه و یک ساب فرم می باشد ، کافی است خاصیت navigation target name را برای هر دکمه تنظیم کرده و نام فرمی را که می خواهیم در ساب فرم آورده شود بنویسیم .
بنا براین بدون هیچ کد نویسی می توان با استفاده از کنترل navigation به این هدف دست یافت .
البته استفاده از این روش نقاط ضعف مختص خود را نیز بدنبال خواهد داشت .
بله این کار از طریق کد نویسی پشت کلید هایی مربوطه امکان پذیر می باشد .
اتفاقا روش بسیار مناسب تری هم هست . و یکی از مواردی است که ما آن را در بهینه سازی پایگاه های داده مطرح می کنیم .
چرا که در روش اول چندین رکوردست با یکدیگر باز شده و این مطلب سرعت کار با پایگاه داده و همچنین عملکرد آن را به هنگام استفاده در بستر شبکه دچار مشکل می سازد ولی در روش دوم ( پیشنهادی شما ) این مشکلات حل شده و هر بار به غیر از فرم اصلی تنها یک رکوردست باز شده است .
انجام اینکار در مثال مورد نظر شما به شرح زیر می باشد :
1- ابتدا فیلد های link master fields و link child fields رو برابر با مقدار ID قرار دهید .
2- کد های زیر را به ترتیب در رویداد های On click دکمه sub form A1 و sub form A2 و Sub form A3 بنویسید:
Child35.SourceObject = "table A1 subform"
Child35.SourceObject = "table A2 subform"
Child35.SourceObject = "table A3 subform"
در ضمن در اکسس 2010 کنترلی جدید به نام navigation اضافه گردیده که دقیقا همین وظیفه را بر عهده دارد .
هنگام استفاده از این کنترل که یک کنترل ترکیبی از چند دکمه و یک ساب فرم می باشد ، کافی است خاصیت navigation target name را برای هر دکمه تنظیم کرده و نام فرمی را که می خواهیم در ساب فرم آورده شود بنویسیم .
بنا براین بدون هیچ کد نویسی می توان با استفاده از کنترل navigation به این هدف دست یافت .
البته استفاده از این روش نقاط ضعف مختص خود را نیز بدنبال خواهد داشت .
پاسخ ها (1)
-
پاسخ پذیرفته شده
0با سلام.فایلی مشابه فایل قرار داه شده ایجاد کرده و کد را قراردادم که با زدن دکمه مربوطه سابفرم مورد نظر نمایش داده میشود.میخواستم در یک فرم دیگر که فیلدهای ان از دو جدول است این کار را انجام دهم، اما بعد از نمایش سابفرم فیلدی که باید مقدار ان به صورت خودکار پر میشد ،خالی میماند.ممنون میشم راهنمایی کنید تا چطور در چنین فرمی هم از این روش اسفاده کنم.
برای ارسال پاسخ وارد شوید
برای ثبت پاسخ لازم است وارد شوید. از فرم مقابل برای ورود استفاده منید و اگر کاربر جدید هستید ثبت نام کنید.
اینجا ثبت نام کنید »