PDA

View Full Version : margin در گزارش گیری اکسس



morteza_lll
جمعه 26 مرداد 1386, 16:53 عصر
سلام دوستان
من یک مشکل در گزارش گیری در اکسس دارم
میخوام توی on open یا ... بتونم مارجین (margin) را مشخص کنم با اینکار میخوام زمانی که این برنامه روی یک دستگاه دیگه اجرا میشه مارجینش بهم نریزه که کاربر مجبور باشه Page setup را تغییر بده
الان گزارش روی دستگاه من با مارجین درست کار میکنه ولی به محض اجرای اون روی یک دستگاه دیگه میریزه بهم
با تشکر:چشمک:

مهدی قربانی
جمعه 26 مرداد 1386, 18:35 عصر
سلام
دوست عزیز ببینید این تیکه کد کمکتون میکنه ؟ البته تغییرات مورد نظرتون رو باید اعمال کنید .



Private Sub Report_Open(Cancel As Integer)

Me.Printer.PaperSize = acPRPSA4
Me.Printer.BottomMargin = 0.5 * 1440
Me.Printer.TopMargin = 0.5 * 1440
Me.Printer.LeftMargin = 0.5 * 1440
Me.Printer.RightMargin = 0.5 * 1440

End Sub

mohsenna30ri
شنبه 27 مرداد 1386, 07:26 صبح
میشه یک کم در مورد 1440 * 0.5 توضیح بدین
مخصوصا 1440 یعنی چه؟

morteza_lll
شنبه 27 مرداد 1386, 10:44 صبح
سلام آقای mehdi_gh
با تشکر از پاسخ شما من این کد را تست کردم ولی هنگام باز کردن گزارش روی متد printer خطا می گیرد
و این پیغام را میدهد compiler error
metode or data member not found
اگر ممکنه راهنماییم کنید ممنون:چشمک:

مهدی قربانی
شنبه 27 مرداد 1386, 23:39 عصر
میشه یک کم در مورد 1440 * 0.5 توضیح بدین
مخصوصا 1440 یعنی چه؟
سلام خدمت آقا محسن و آقا مرتضی
آقا محسن شاخص اندازه گیری عدد 1440 در اصل Twip هست البته margin که بنده در پست قبلی نوشتم در اصل برای سایز کاغذ Letter بوده و اشتباهاً برای کاغذ A4 ذکر شده که حدوداً باید از Twip 15309 در 11907 استفاده کرد عدد 0.5 میلی متر هم که در اصل تعیین کننده فواصل از لبه های بالا ، پائین ، چپ . راست هست که با ضرب اونها بر مقادیر Twip روی تنظیمات صفحه پیاده میشه . البته بجای 0.5 می تونید از ضریبهای دیگه هم متناسب با حجم محتویات صفحه استفاده کنید .
ضمناً باید عرض کنم که واحد Twip بیشتر در تعیین اندازه فرمها استفاده می شود .


سلام آقای mehdi_gh
با تشکر از پاسخ شما من این کد را تست کردم ولی هنگام باز کردن گزارش روی متد printer خطا می گیرد
و این پیغام را میدهد compiler error
metode or data member not found
اگر ممکنه راهنماییم کنید ممنون:چشمک:
1 . روی کدوم خط ارور میده ؟
2 . پرینتر رو دستگاه نصب هست ؟

morteza_lll
یک شنبه 28 مرداد 1386, 06:47 صبح
سلام دوست عزیز
روی خط اول و روی گزینه پرینتر error میده
بله و پرینتر نصب شده دارم

mohsenna30ri
یک شنبه 28 مرداد 1386, 07:03 صبح
احتمالا پرینتر شما نصب نیست

morteza_lll
یک شنبه 28 مرداد 1386, 07:17 صبح
سلام آقا محسن
چرا پرینتر نصب چون در محل کارم هستم به جای یک چندین پرینتر فعال را به صورت نصب شده دارم
اکسس پیغام میده میگه : متد printer را نمیشناسم

مهدی قربانی
یک شنبه 28 مرداد 1386, 09:41 صبح
سلام
آقا مرتضی البته بعیده مشکل از فایل باشه ولی بد نیست اول فایل رو به یک دستگاه دیگه منتقل کنید اگر باز هم نشد نمونه رو که ارور داره اینجا بذارید .

morteza_lll
یک شنبه 28 مرداد 1386, 10:46 صبح
سلام آقا مهدی
چشم این کار را می کنم ولی جالب اینکه بدانید
شما زمانی که در محیط کد نویس می نویسم me. به محض زدن "." بعد از me یک لیست (name Space ) برایتان باز می شود ولی printer تو این لیست نیست واسه همینه که نمیشناسه

morteza_lll
یک شنبه 28 مرداد 1386, 10:52 صبح
سلام آقا مهدی
چشم این کار را می کنم ولی جالب اینکه بدانید
شما زمانی که در محیط کد نویس می نویسم me. به محض زدن "." بعد از me یک لیست (name Space ) برایتان باز می شود ولی printer تو این لیست نیست واسه همینه که نمیشناسه

مهدی قربانی
یک شنبه 28 مرداد 1386, 19:33 عصر
سلام آقا مهدی
چشم این کار را می کنم ولی جالب اینکه بدانید
شما زمانی که در محیط کد نویس می نویسم me. به محض زدن "." بعد از me یک لیست (name Space ) برایتان باز می شود ولی printer تو این لیست نیست واسه همینه که نمیشناسه
به همین خاطر عرض کردم ممکنه که یا چاپگر روی سیستم نصب نباشه یا در Setting مربوطه اشکالی وجود داره که اگر با یک سیستم دیگه تست کنید مشخص میشه البته بشرطی که سیستم بعدی مشکلات یاد شده رو نداشته باشه .
موفق باشید .

morteza_lll
چهارشنبه 31 مرداد 1386, 21:27 عصر
سلام آقا مهدی من کارمو روی یک دستگاه دیگه تست کردم ولی باز هم error داد البته این کار من تو 2000 هست و ظاهرا این متد تو 2000 شناخته شده نیست ولی تو 2003 امتحان کردم جواب داد و برام مارجین رو ست کرد
اگر راه حلی در 2000 داری بگی ممنون میشم
ولی به هر حال برای کار جدیدم که تو 2003 هست مشکلم حل شد خیلی خیلی متشکرم داداش

مهدی قربانی
چهارشنبه 31 مرداد 1386, 21:56 عصر
علیک سلام
خدا رو شکر ، برای 2000 هم بروی چشم بررسی می کنم اگر راه حلش رو پیدا کردم تقدیم می کنم .

morteza_lll
جمعه 09 شهریور 1386, 15:05 عصر
سلام کسی تو 2000 راه حلی پیدا نکرده
لطفا

مهدی قربانی
شنبه 10 شهریور 1386, 09:57 صبح
سلام
آقا مرتضی من چند تا فایل 2000 رو هم چک کردم در محیط VBA اونها متد Printer‌ کاملاً قابل استفاده بود و هیچ خطایی هم نداشت . شما فایل 2000 رو روی یک سیستم دیگه که آفیس 2000 داشته باشه چک کردی ؟ اگر چک کردی و مشکل نداشتی آفیس دستگاهی رو که خطا میده رو یک بار نصب مجدد کن ببین چطور میشه .

majid325
پنج شنبه 15 شهریور 1386, 08:43 صبح
سلام
دوست عزیز ببینید این تیکه کد کمکتون میکنه ؟ البته تغییرات مورد نظرتون رو باید اعمال کنید .



Private Sub Report_Open(Cancel As Integer)

Me.Printer.PaperSize = acPRPSA4
Me.Printer.BottomMargin = 0.5 * 1440
Me.Printer.TopMargin = 0.5 * 1440
Me.Printer.LeftMargin = 0.5 * 1440
Me.Printer.RightMargin = 0.5 * 1440

End Sub



با نوشتن این کد Margin ست میشه ولی تا یه بار Margin ست شده رو در حالت نمایشok نکنم ریپورت رو مثل حالت قبل از ست شدن نشون میده.

mehdihamedali
جمعه 16 شهریور 1386, 06:40 صبح
سلام دوست عزیز
مرتضی جان دستور Printer جزء دستورات عمومی VB هست شما میتونی در Bject Browser این رو چک کنی این دستور جزء زیر دستورات Applitaion است.
اگر این دستور رو پیدا نمی کنی ببین چه سرویسی رو خاموش کردی یا این رو با یک دستگاه دیگه ای که با یک افیس دیگه نصب شده امتحان کن