PDA

View Full Version : سوال: نمایش تصویر در گزراش در شرایط خاص



G.hemati
چهارشنبه 02 اردیبهشت 1394, 19:48 عصر
با سلام خدمت تمامی اساتید و دوستان گرامی
من از نمونه های همین سایت یه فایلی ضمیمه کردم و در آن یک گزارش دارم که تصویر مورد نظر رو از فولدری که در کنار دیتابیس است، فراخوانی کرده و نمایش میدهد


در فرم برنامه وقتی تصویر مورد نظر در مسیر وجود نداشته باشد، در Image Frame یک پیامی نمایش میشود که "عکس مورد نظر یافت نشد"

حال میخواهم این عمل در گزارش هم رخ دهد

دوستان اگر فایل را ملاحظه فرمایند مشخص است . در رکورد 1 تصویر مشخص است و گزارش هم همان را نمایش میدهد

اما در رکورد 2 با اینکه تصویری وجود ندارد، گزارش باز تصویر نامرتبط نشان میدهد. که میخواهم همان پیام "عکس مورد نظر یافت نشد" نشان داده شود

ممنون و سپاسگذار

Abbas Amiri
چهارشنبه 02 اردیبهشت 1394, 22:08 عصر
با سلام خدمت تمامی اساتید و دوستان گرامی من از نمونه های همین سایت یه فایلی ضمیمه کردم و در آن یک گزارش دارم که تصویر مورد نظر رو از فولدری که در کنار دیتابیس است، فراخوانی کرده و نمایش میدهد در فرم برنامه وقتی تصویر مورد نظر در مسیر وجود نداشته باشد، در Image Frame یک پیامی نمایش میشود که "عکس مورد نظر یافت نشد" حال میخواهم این عمل در گزارش هم رخ دهد دوستان اگر فایل را ملاحظه فرمایند مشخص است . در رکورد 1 تصویر مشخص است و گزارش هم همان را نمایش میدهد اما در رکورد 2 با اینکه تصویری وجود ندارد، گزارش باز تصویر نامرتبط نشان میدهد. که میخواهم همان پیام "عکس مورد نظر یافت نشد" نشان داده شود ممنون و سپاسگذار
سلام کد زیر را جایگزین کنید
Private Sub Form_Current()
Dim res As Boolean
Dim fName As String
path = CurrentProject.path
On Error Resume Next
errormsg.Visible = False
If Not IsNull(Me!Photo) Then
res = IsRelative(Me!Photo)
fName = Me![ImagePath]
If (res = True) Then
fName = path & "\" & fName
End If

Me![ImageFrame].Picture = fName
showImageFrame
Me.PaintPalette = Me![ImageFrame].ObjectPalette
If (Me![ImageFrame].Picture <> fName) Then
hideImageFrame
errormsg.Caption = "Ú˜Ó ãæÑÏ äÙÑ íÇÝÊ ÔÏ"
errormsg.Visible = True
End If
Else
Me![ImageFrame].Picture = ""
hideImageFrame
errormsg.Caption = "ÌåÊ äãÇíÔ Ú˜Ó ˜áí˜ äãÇííÏ"
errormsg.Visible = True
End If

End Sub

G.hemati
پنج شنبه 03 اردیبهشت 1394, 17:04 عصر
با سلام خدمت استاد امیری گرامی
ممنون بابت پاسختون
ولی استاد من منظورم نحوه فراخوانی عکس در گزارش میباشد در حالی که کدهای مربوطه برای رویدادCurrent فرم استفاده میشه

جهت روشن تر شدن موضوع من دو تا تصویر ضمیمه کردم که رکورد های 1 و 2 را در گزارش نشان میدهد
امیدوارم جوابگو باشد

Abbas Amiri
پنج شنبه 03 اردیبهشت 1394, 21:35 عصر
سلام
شما کد خط 23 را اضافه کنید و در گزارش هم یک لیبل جهت پیغام مورد نظر قرار دهید. و کد موجود در ریپورت را تغییر دهید:
Private Sub Detail_Format(Cancel As Integer, FormatCount As Integer)
Me![ImageFrame].Picture = Nz(Forms![Employees]![ImageFrame].Picture)
RptMessage.Visible = (Nz(Forms![Employees]![ImageFrame].Picture) = "(none)")
End Sub

G.hemati
پنج شنبه 03 اردیبهشت 1394, 22:08 عصر
ممنون استاد عزیز
این روش برای تنها در زمانی که تکست باکس ImagePath (نشان دهنده مسیر عکس) خالی است جوابگو میباشد

اما هدف این است که وقتی از پوشه حاوی عکسها ، عکسی پاک شد . مشخص شود عکس پاک شده، و در گزارش به اشتباه عکس دیگری نمایش نشود

این عمل در فرم به خوبی انجام میشود اما در گزارش با مشکل برخورد میکند . من نمونه تکمیل شده با راهنمایی جنابالی را نیز ضمضیه کردم

Abbas Amiri
جمعه 04 اردیبهشت 1394, 00:52 صبح
ممنون استاد عزیز
این روش برای تنها در زمانی که تکست باکس ImagePath (نشان دهنده مسیر عکس) خالی است جوابگو میباشد

اما هدف این است که وقتی از پوشه حاوی عکسها ، عکسی پاک شد . مشخص شود عکس پاک شده، و در گزارش به اشتباه عکس دیگری نمایش نشود

این عمل در فرم به خوبی انجام میشود اما در گزارش با مشکل برخورد میکند . من نمونه تکمیل شده با راهنمایی جنابالی را نیز ضمضیه کردم

سلام
کد زیر را جایگزین کنید
Private Sub Form_Current()
Dim res As Boolean
Dim fName As String
path = CurrentProject.path
On Error Resume Next
errormsg.Visible = False
If Not IsNull(Me!Photo) Then
res = IsRelative(Me!Photo)
fName = Me![ImagePath]
If (res = True) Then
fName = path & "\" & fName
End If
Me![ImageFrame].Picture = fName
showImageFrame
Me.PaintPalette = Me![ImageFrame].ObjectPalette
If (Me![ImageFrame].Picture <> fName) Then
hideImageFrame
errormsg.Caption = "Ú˜Ó ãæÑÏ äÙÑ íÇÝÊ ÔÏ"
ImagePath = ""
Me![ImageFrame].Picture = ""
errormsg.Visible = True
End If
Else
Me![ImageFrame].Picture = ""
hideImageFrame
errormsg.Caption = "ÌåÊ äãÇíÔ Ú˜Ó ˜áí˜ äãÇííÏ"
errormsg.Visible = True
End If
End Sub