ورود

View Full Version : مشکل در نمایش Report



Milad_ATM
سه شنبه 13 خرداد 1399, 06:23 صبح
سلا دوستان
مدتها بود میخواستم پنجره اکسس رو در زمان اجرای برنامه مخفی کنم
نتونستم انجامش بدم و بالاخره با این کد minimizeش کردم :

DoCmd.RunCommand acCmdAppMinimize

حالا به مشکل در نمایش Reportها برخوردم که قطعاً علتش همین کد هست

در زمان اجرای Report و Minimize شدن خودکار پنجره اکسس این اتفاق میفته :
151816

و در زمانی که فایل رو بدون این کد و یا با کلید شیفت اجرا میکنم به صورت صحیح Report نمایش داده میشه:
151817

لطفاً راهنمایی کنید-مرسی

Milad_ATM
چهارشنبه 14 خرداد 1399, 10:37 صبح
دوستان کسی به این مشکل بر نخورده؟

eb_1345
چهارشنبه 14 خرداد 1399, 11:06 صبح
دوستان کسی به این مشکل بر نخورده؟
سلام
از کد دستوری DoCmd.RunCommand acCmdAppMinimize برای مینیمایز کردن پنجره اکسس استفاده میشود نه مخفی کردن آن
برای مخفی کردن پنجره اکسس از کدهای دیگر استفاده میشود که با قدری جستجو در تالار اکسس میتوانید به آن دست پیدا کنی
موفق باشی

Milad_ATM
چهارشنبه 14 خرداد 1399, 13:52 عصر
سلام
از کد دستوری DoCmd.RunCommand acCmdAppMinimize برای مینیمایز کردن پنجره اکسس استفاده میشود نه مخفی کردن آن
برای مخفی کردن پنجره اکسس از کدهای دیگر استفاده میشود که با قدری جستجو در تالار اکسس میتوانید به آن دست پیدا کنی
موفق باشی

دوست عزیز در مطلب اول به این مساله اشاره کردم
کاملا این مساله رو میدونم
و بدلیل غیر استاندارد بودن مخفی کردن پنجره اکسس تصمیم گرفتم جهت عدم نمایش اون Minimizeش کنم
طبق متن و تصاویر سوال این بود که علت عدم نمایش صحیح Report در این حالت Minimize چی هست؟

mosaArabi
پنج شنبه 15 خرداد 1399, 23:52 عصر
سلام . برین در قسمت پروپرتی و گزینه های پاپ آپ و مدول را یس کنید و در قسمت اوپن ریپورت دستور ماکسیماز را بنویسید

Milad_ATM
دوشنبه 19 خرداد 1399, 07:26 صبح
سلام . برین در قسمت پروپرتی و گزینه های پاپ آپ و مدول را یس کنید و در قسمت اوپن ریپورت دستور ماکسیماز را بنویسید
ممنون از پاسختون
ریپورتها همگی Modal و popup هستند.

برای باز شدن ریپورتم از این ماکرو استفاده کردم:
چطوری باید ماکیمایز کنم ؟
151836

mosaArabi
دوشنبه 19 خرداد 1399, 12:56 عصر
سلام . در قسمت اوپن ریپورت هم دستور ماکسیماز را زدین؟
ضمنا در دستور بالا در قسمت ویو که ریپورت انتخاب شده . ریپورت پریویو را انتخاب کنید

Milad_ATM
چهارشنبه 28 خرداد 1399, 09:06 صبح
بله ولی تاثیر نداشت

mosaArabi
چهارشنبه 28 خرداد 1399, 13:52 عصر
میتونید نمونه فایل بفرستین تا بررسی بشه مشکل

padide55
پنج شنبه 19 تیر 1399, 08:14 صبح
سلام . این کار رو انجام بدین . فرم رو هنگام بازشدن ماکزیمایز کنید . مشکلی بود اعلام کنید
151909

Milad_ATM
دوشنبه 06 مرداد 1399, 09:16 صبح
متاسفانه کاملاً بهم ریخته و ناقص اجرا شد!
میخوام با اندازه اصلی که تنظیم کردم که همون سایز واقعی پرینت هم هست اجرا بشه که نمیشه:اشتباه:

151972

padide55
دوشنبه 06 مرداد 1399, 10:13 صبح
این مارو رو برای مخفی کردن امتحان کنید .
نمونه فایل مخفی نمودن پنجره اکسس . بدون مشکل ریپورت

Milad_ATM
سه شنبه 07 مرداد 1399, 08:30 صبح
این مارو رو برای مخفی کردن امتحان کنید .
نمونه فایل مخفی نمودن پنجره اکسس . بدون مشکل ریپورت
این مورد فکر میکنم برای آفیس 32بیت قابل انجام هست

151975

eb_1345
سه شنبه 07 مرداد 1399, 09:33 صبح
این مورد فکر میکنم برای آفیس 32بیت قابل انجام هست


برای رفع مشکل در آفیس 64 بیتی باید درکدهای مربوط به Win-API باید درجلو کلمه Declare کلمه کلیدی PtrSafe اضافه شود.
کد مربوطه درقسمت ماژول رو بصورت زیر تغییر بده !


#If Win64 Then
Private Declare PtrSafe Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
#Else
Private Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
#End If



موفق باشی

padide55
سه شنبه 07 مرداد 1399, 10:09 صبح
ممنون از پاسختون
ریپورتها همگی Modal و popup هستند.

برای باز شدن ریپورتم از این ماکرو استفاده کردم:
چطوری باید ماکیمایز کنم ؟
151836


کد بازکردن ریپورت رو تغییر بدین
ببینید تغییری در نمایش ایجاد میشه ؟

151976

Milad_ATM
سه شنبه 07 مرداد 1399, 16:52 عصر
برای رفع مشکل در آفیس 64 بیتی باید درکدهای مربوط به Win-API باید درجلو کلمه Declare کلمه کلیدی PtrSafe اضافه شود.
کد مربوطه درقسمت ماژول رو بصورت زیر تغییر بده !


#If Win64 Then
Private Declare PtrSafe Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
#Else
Private Declare Function apiShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
#End If



موفق باشی

این روش رو امتحان کردم اول خوشحال شدم و فکر کردم بالاخره موفق شدم انجامش بدم
ولی مشکل اینه که فرم های بعد از Form Default اصلا باز نمیشن!

Milad_ATM
سه شنبه 07 مرداد 1399, 16:52 عصر
کد بازکردن ریپورت رو تغییر بدین
ببینید تغییری در نمایش ایجاد میشه ؟

151976

این روش جواب داد
ممنونم دوست عزیز