دسترسی سریع به فهرست مطالب :
- تغییر اندازه فرمها با VBA
- واحد اندازه گیری Twips چیست؟
- padding و margins چه فرقی با هم دارند؟
- اهمیت Anchoring یا لنگر در اکسس
- محدودیت اکسس در اندازه ها
- تنظیم حاشیه برگه زمان چاپ
یکی از اصول اولیه طراحی فرم و گزارشات در اکسس و یا هر برنامه دیگری دانستن اندازه ها و نحوه صحیح چیدمان کنترلهاست ، در این بین اصطلاحاتی وجود داره که باید برنامه نویس با اونها آشنا باشه ، مثلا شما می دونید تفاوت Margin و Padding چیه ؟ همه چیز در مورد رزولیشن
تغییر واحد اندازه گیری فرمها و کنترلها در اکسس
به تصویر زیر دقت کنید ، هر دو تصویر دارن خصوصیات یک دکمه که از فرم تو حالت طراحی انتخاب شده رو نشون میدن ، با این تفاوت که تو تصویر سمت راست واحد اندازه گیری بر حسب سانتیمتر هست و تو تصویر کناری بر حسا اینچ چطوری میتونیم این رو تعیین کنیم؟
1- کنترل پنل ویندوز خودتون رو باز کنید .
2- به قسمت Regional and language Setting بروید.
3- در تب Format روی گزینه Additional Setting کلیک کنید .
4- مانند تصویر زیر ، اگر می خواهید بر حسب اینچ باشد گزینه US و در غیر اینصورت Metric را انتخاب کنید .
[sta_anchor id=”vbasize” /]
برای تغییر اندازه فرمها و کنترلهای اکسس از طریق کدنویسی چکار باید کرد؟
[su_note note_color=”#bfbfbf”]باید بدونید که واحد اندازه گیری در VBA با پنجره خصوصیات متفاوته .[/su_note]
از دستور زیر برای تغییر اندازه فرمها و کنترلها در اکسس استفاده کنید .
DoCmd.MoveSize
اما دستور بالا 4 تا آرگومان داره که همونطوری که تو تصویر زیر می بینید به ترتیب فاصله فرم از راست و فاصله فرم از بالا و عرض و ارتفاع فرم رو مشخص می کنه .
چرا تو کدهای بالا برای آرگومان Right و Down هیچی وارد نکردم و فقط کاما زدم؟
چون می خوام فرم وسط صفحه باز بشه .( البته باید خاصیت Auto Center رو فعال کرده باشم .
اون اعدا 5000 و 1000 چی هستند ؟
اونها مشخص کننده عرض و ارتفاع فرم هستند که بر حسب Twips وارد شدند .
[sta_anchor id=”twips” /]
واحد اندازه گیری Twips چیست؟
در واقع مخفف twentieth of a point ( بیست نقطه هست ) و به عنوان واحد اندازه گیری در کدنویسی vba استفاده میشه .
هر 1440 Twips معادل یک اینچ هست.
هر 567 Twips هم معادل یک سانتیمتر .
تصویر قبلی در واقع بع اکسس میگه که عرض فرم تقریبا 3.5 اینچ و ارتفاع 7 اینچ باشه .
با یه می محاسبه و آزمون و خطا این اندازه ها دستتون میاد .
[sta_anchor id=”border” /]
border و Padding و margins چه نقشی در طراحی و چه تفاوتی با هم دارند .
توی تصویر زیر تفاوت بین گزینه های بالا مشخصه .
اگر حرف A از تصویر بالا رو یک کنترل در نظر بگیریم مثل یک تکست باکس.
رنگ تیره که در زاویه مشخص شده حاشیه یا همان Border می باشد.
رنگ قرمز که فاصله با کنترلهای مجاور رو نشون میده Padding هست.
رنگ سبز که نشون دهنده فاصله کنترل با انتهای فرم یا گزارش هست رو Margin در نضر می گیرن.
[sta_anchor id=”anchor” /]
گزینه Anchoring یا لنگر و اهمیت آن در طراحی فرمهای اکسس
تصویر زیر رو ببینید وقتی یک یا چند کنترل رو انتخاب کرده باشین ، فعال هست.
گزینه بالا در واقع تمایل موندن کنترل انتخاب شده توی یک موقعیت رو نشون میده . یعنی چی ؟
یعنی اگه شما یک کنترل مثل تصویر بالا رو انتخاب کنید و لنگر اون رو گزینه Top Right انتخاب کنید هر چقدر هم فرم رو تغییر اندازه بدن بازهم کنترل مایل به بالا و سمت راست می مونه .
Top right :
بالا و متمایل به راست
Stretch Down and Right :
سمت راست و کشیده به سمت پائین . نمونه در منوی آبشاری اکسس استفاده شده .
Bottom Right :
پایین متمایل به راست .
Stretch Across Top :
عرض کامل و متمایل به بالا
Stretch Down and Across :
کشیده به سمت پائین و عرض کامل
Stretch Across Bottom :
عرض کامل و متمایل به پائین .
سه تا گزینه بعدی مانند سه تا گزینه اول هستند .
پیشنهاد میشه که موارد بالا رو حتما با آزمون و خظا امتحان کنید که تاثیر زیادی تو طراحی دارن .
[sta_anchor id=”size” /]
محدودیتهای اکسس برای اندازه فرم و گزارشات چی هست ؟
طبق اطلاعاتی که ماکروسافت به عنوان محدودیت برای اکسس در نظر گرفته :
حداکثر عرض فرمها و گزارشات 22.57 اینچ معادل 57.79 سانتیمتر
حداکثر ارتفاع برای سکشنها ( Detail , header ,…) 22.57 اینچ معادل 57.79 سانتیمتر
ارتفاع کل برای فرمها و گزارشات 200 اینچ معادل 508 سانتیمتر هست .
[sta_anchor id=”print” /]
حذف حاشیه ای که به صورت خودکار اکسس در نظر میگره ؟
با اینکه شما تو Page Setup حاشیه رو 0 در نظر می گیرید بازهم اکسس خودش یه فاصله ای میده .
باید بدونید که هنگام چاپ همه چیز دست اکسس نیست و خیلی چیزها هم محدودیت پرینتر شماست
اما در مورد حاشیه خودکار اکسس شما میتونید با کد زیر حاشیه رو صفر کنید .
1- در نمای طراحی قسمت Detail گزارش رو انتخاب کنید .
2- در قسمت خصوصیات و تب Event روی سه نقطه قسمت Onrpint کلیک کنید.
3- کدهای زیر رو اونجا قرار بدین.
Me.Printer.RightMargin = 0
Me.Printer.BottomMargin = 0
Me.Printer.TopMargin = 0
Me.Printer.LeftMargin = 0
کدهای بالا در واقع در زمان پرینت شدن گزارش اکسس ، فاصله رو در حاشیه به صفر می رسونه و نتیجه میشه تصویر زیر .
اگر شما هم تجربه ای در مورد اندازه و طراحی فرم و گزارش در اکسس دارید در قسمت نظرات عنوان نمائید.
امتیاز بینندگان:5 ستاره
سلام استاد بحری
بسیار عالی و آموزنده بود سپاس از زحماتی که میکشین برای آفیس بازها.
نظر لطف شماست
امتیاز بینندگان:4 ستاره
امتیاز بینندگان:5 ستاره
سلام استاد. بسیار آموزنده بود . ممنون
با سلام استاد بحری عزیز
بسیار عالی واموزنده بود
ممنون از نظر شما
سلام جناب بحری شما که زحمت می کشید برای کامل کردنش فایل ویدئویی انها رو هم بذارید .
سلام استاد محترم آقای بهری با تشکر از مطالب مفید تون و نوع خوب آموزشتون
سپاس از لطفتون و زحمات شما 🌺🌺🌺🌺
سلام کدی برای تغییر نام یا تعیین نام یک کنترل در فرم اکسس وجود دارد؟
سلام و عرض ادب .استاد بحری اگه محتوای یک تکست باکس از عرض تکست باکس بیشتر بشه و در یک نگاه تمام محتویات اون تکست باکس رو نشه در گزارش یا فرم مشاهده کنیم دستوری هست که عرض تکس باکس رو به صورت اتوماتیک ، متناسب با طول متن تغییر بده.ممنون ازپاسخ گویی تون
توی این دوره هست
https://officebaz.ir/product/officebazcheque/
سلام. روز بخیر.
نرمافزار اکسس چاپ یه جدول رو در کاغذ A4 نشون میده اما موقع پرینت در کاغذ A5 موقعیت جدول رو تغییر نمیده و نیمی از جدول پرینت میشه.
چطور میتونم کاغذ اکسس رو تغییر سایز بدم؟
ممنون
سلام
بعضی وقتا
وقتی Auto resize رو no قرار میدیم کادر فرم از حالتی که ت دیزاین داده بودیم خارج میشه
میشه کمک کنید مشکلش حل بشه
سلام، چه جوری میتونیم فرمی که طراحی کردیم در نمای ماکزیمایز هم همه کنترل هاش کشیده و بزرگ بشن؟
سلام آموزشهای زیر رو ببینید
https://officebaz.ir/product/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%D9%85%D8%A7%DA%98%D9%88%D9%84-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%D8%A7%D9%86%D8%AF%D8%A7/
https://officebaz.ir/%D8%B1%D8%B2%D9%88%D9%84%DB%8C%D8%B4%D9%86-%DA%86%DB%8C%D8%B3%D8%AA-%D8%9F-%DA%86%DA%AF%D9%88%D9%86%D9%87-%D9%81%D8%B1%D9%85%D9%87%D8%A7%DB%8C-%D8%A7%DA%A9%D8%B3%D8%B3-%D8%B1%D8%A7-%D8%A8%D8%B1-%D8%A7/
سلام استاد، خسته نباشید. ممنون از توضیحاتتون.
جسارتا خواستم سوال کنم دستور movesize روی گزارش های اکسس هم کار می کند؟
من امتحان کردم نتونستم نتیجه بگیرم.
ممنون