From: rc51wv on
I followed the directions here:
http://support.microsoft.com/default.aspx?scid=kb;en-us;285820

When I run it, I'm getting the error:
"438 Object doesn't support this property or method"

It looks like it's breaking on this bit of code:
".Picture = strImagePath"

Any idea what I'm doing wrong?

Module code:
Option Compare Database
Option Explicit

Public Function DisplayImage(ctlImageControl As Control, strImagePath As
Variant) As String
On Error GoTo Err_DisplayImage

Dim strResult As String
Dim strDatabasePath As String
Dim intSlashLocation As Integer

With ctlImageControl
If IsNull(strImagePath) Then
.Visible = False
strResult = "No image name specified."
Else
If InStr(1, strImagePath, "\") = 0 Then
' Path is relative
strDatabasePath = CurrentProject.FullName
intSlashLocation = InStrRev(strDatabasePath, "\",
Len(strDatabasePath))
strDatabasePath = Left(strDatabasePath, intSlashLocation)
strImagePath = strDatabasePath & strImagePath
End If
.Visible = True
.Picture = strImagePath
strResult = "Image found and displayed."
End If
End With

Exit_DisplayImage:
DisplayImage = strResult
Exit Function

Err_DisplayImage:
Select Case Err.Number
Case 2220 ' Can't find the picture.
ctlImageControl.Visible = False
strResult = "Can't find image in the specified name."
Resume Exit_DisplayImage:
Case Else ' Some other error.
MsgBox Err.Number & " " & Err.Description
strResult = "An error occurred displaying image."
Resume Exit_DisplayImage:
End Select
End Function

Form code:
Option Compare Database
Option Explicit

Private Sub Form_AfterUpdate()
CallDisplayImage
End Sub

Private Sub Form_Current()
CallDisplayImage
End Sub

Private Sub txtImageName_AfterUpdate()
CallDisplayImage
End Sub

Private Sub CallDisplayImage()
Me!txtImageNote = DisplayImage(Me!txtImageID, Me!txtImagePath)
End Sub

From: Maurice on
try a different format like .bmp or .jpg if those work then my guess would be
that the .tiff isn't a supported imagefile.
--
Maurice Ausum


"rc51wv" wrote:

> I followed the directions here:
> http://support.microsoft.com/default.aspx?scid=kb;en-us;285820
>
> When I run it, I'm getting the error:
> "438 Object doesn't support this property or method"
>
> It looks like it's breaking on this bit of code:
> ".Picture = strImagePath"
>
> Any idea what I'm doing wrong?
>
> Module code:
> Option Compare Database
> Option Explicit
>
> Public Function DisplayImage(ctlImageControl As Control, strImagePath As
> Variant) As String
> On Error GoTo Err_DisplayImage
>
> Dim strResult As String
> Dim strDatabasePath As String
> Dim intSlashLocation As Integer
>
> With ctlImageControl
> If IsNull(strImagePath) Then
> .Visible = False
> strResult = "No image name specified."
> Else
> If InStr(1, strImagePath, "\") = 0 Then
> ' Path is relative
> strDatabasePath = CurrentProject.FullName
> intSlashLocation = InStrRev(strDatabasePath, "\",
> Len(strDatabasePath))
> strDatabasePath = Left(strDatabasePath, intSlashLocation)
> strImagePath = strDatabasePath & strImagePath
> End If
> .Visible = True
> .Picture = strImagePath
> strResult = "Image found and displayed."
> End If
> End With
>
> Exit_DisplayImage:
> DisplayImage = strResult
> Exit Function
>
> Err_DisplayImage:
> Select Case Err.Number
> Case 2220 ' Can't find the picture.
> ctlImageControl.Visible = False
> strResult = "Can't find image in the specified name."
> Resume Exit_DisplayImage:
> Case Else ' Some other error.
> MsgBox Err.Number & " " & Err.Description
> strResult = "An error occurred displaying image."
> Resume Exit_DisplayImage:
> End Select
> End Function
>
> Form code:
> Option Compare Database
> Option Explicit
>
> Private Sub Form_AfterUpdate()
> CallDisplayImage
> End Sub
>
> Private Sub Form_Current()
> CallDisplayImage
> End Sub
>
> Private Sub txtImageName_AfterUpdate()
> CallDisplayImage
> End Sub
>
> Private Sub CallDisplayImage()
> Me!txtImageNote = DisplayImage(Me!txtImageID, Me!txtImagePath)
> End Sub
>