title: Adding Images into Forms from External Sources using Paths
body: <p>I've been searching around on Google to find a better way to show images in Access without actually inserting the image into the database. </p>
  
  <p>I found this article '<a href="http://support.microsoft.com/kb/285820" rel="nofollow noreferrer">http://support.microsoft.com/kb/285820</a>' via this thread '<a href="https://stackoverflow.com/questions/40112/is-there-a-way-to-get-ms-access-to-display-images-from-external-files">Is there a way to get ms-access to display images from external files</a>' which goes into great detail on how to set paths to pictures through folders/files, and it works great, for a 'set' picture. However, I want a different picture to display when I switch to a different record. </p>
  
  <p>Here is the code from the article:</p>
  
  <pre><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 &amp; 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 &amp; " " &amp; Err.Description
              strResult = "An error occurred displaying image."
              Resume Exit_DisplayImage:
      End Select
  End Function
  </code></pre>
  
  <p>I have a feeling that I need to place a line of code that states something like, show image where Image.ID = "ID", but I can't figure out where to put it without getting errors. Am I over-looking something perhaps, or am I approaching this the wrong way? I just don't want to clutter my database, memory-wise, with .bmp images, but I feel like I am going to have to.</p>
  
  <p>SOLVED: A much easier solution is as Gord Thompson has described below in the comments. And from my own experience, using this method for .bmp images leaves the picture distorted and out of contrast. I tested the image for .jpg and it worked perfectly! I hope this helps others who are having trouble with similar problems finds this post helpful.</p>