AccessImagine is ActiveX component to make storing images in various projects as easy as possible. It:
·supports JPEG, BMP, GIF and PNG  file formats
·stores images in JPG format to preserve space
·works with Access and other database applications
·generates previews in JPG and OLE format (for displaying in continuous forms)
AccessImagine design time options
These options are available in property inspector, when you design a form, report or application.
MaxWidth and MaxHeight
If the image exceeds this constrains, it is proportionally scaled down. This applies only when image is saved, preserving full image size for cropping.
If you like not to keep images in database, specify the location for them. In this case bind component to database field that is to hold image file names. Examples of valid pathes:
·“\\Avenger\Incoming\Pics” – local network path, useful for centralized storage
·“Pics” – subfolder in folder, where your database file is stored
·“.” – keep images in the same folder with database file
You can select the appearance of control when it is empty. It can be a Contact sign, Photo sign of simple gray brick (None).
AccessImagine scripting options
Represents picture in control, you can read and write it to manipulate with images.
Checks if image was changed from the last time this function was called.
PreviewJPG(Size) and PreviewOLE(Size)
These functions generate small previews of image in control. Size specifies the longest side of preview, if omitted it defaults to 64 pixels. If you need to save OLE previews along with your images,  insert this in Exit event procedure of AccessImagine object:
If <AccessImagine>.Changed Then <OLE preview field>.Value = <AccessImagine>.PreviewOLE
LoadFile(filename) and SaveFile(filename)
Use these functions for batch processing and advanced manipulating. SaveFile saves images only in JPG format.

AccessImagine is ActiveX component for storing images in various projects as easy as possible. You need to place it on form while designing your application and bind to some database field.

AccessImagine features:

  • JPEG, BMP, GIF and PNG  file formats support
  • store images in JPEG format to save space
  • get images from TWAIN and WIA devices
  • get images from video sources (including webcams)
  • paste image from any Windows application
  • in-place image croping tool
  • HTTP images display
  • OLE fields support
  • previews in JPEG and OLE formats (for displaying in continuous forms)
  • external image storage
  • on-click big image display

Design time component properties

These options are available in property inspector, when you design a form, report or application.


Specify the control background in hex form (i.e. 00000 is black and FFFFF is white)


Cropping type selection:

  • Proportional – cropping tool keeps control’s proportions
  • Normal – crop any proportions
  • Auto – images are automatically cropped to control’s proportions on insertion


You can select the appearance of control when it is empty. It can be a Contact sign, Photo sign or simple brick (None).

MaxWidth and MaxHeight

If the image exceeds these constrains it will be proportionally scaled down. This applies only when image is saved while preserving full image size for cropping.


In order not to keep images in database you need to specify a location for them. Bind component to database field which holds image file names in this case. Examples of valid locations’ paths:

  • D:\MyWork\Images
  • \\Avenger\Incoming\Pics” – local network path (for centralized storage, etc.)
  • Pics” – a subfolder in the folder, where your database file is stored
  • .” – keep images in the same folder with the database file

If empty.jpg image is present at StoragePath location, it will be used for empty control display


Set this to “Yes” if you don’t want to show the control buttons. It will look just like regular image this way.


You can select the control’s behaviour when the user clicks the image.

  • None – do nothing
  • ShowFullPicture – show picture in new window, scaling it down to fit the screeen, if it is too big
  • ShowPanPicture – show picture in new window 1:1 size, giving the ability to pan via a hand tool
  • OpenPictureFile – open picture with the external application, that is associated with JPG filetype

Scripting options


The text shown where there is no image (usually “No Image“). Can be set to empty string.


Represents the picture in the control, both reads and writes are allowed.


Data bound to control (like ControlSource). Use it for late binding or if usual field binding is not available (i.e. at Access 97)

InstantScan (delay)

Makes instant scanner/webcam image capture without user’s assistance. Will wait delay seconds after device initialization before taking image (it may be needed for some cams that adjust focus/brightness at first few seconds).


Checks if image has been changed since the last invocation of this function.

PreviewJPG(Size) and PreviewOLE(Size)

These functions generate small previews of the image in control. Size specifies the longest side of the preview, if omitted it defaults to 64 pixels. If you need to save OLE previews along with your images,  add the following code to Exit event procedure of the AccessImagine object:

If <AccessImagine>.Changed Then <OLE preview field>.Value = <AccessImagine>.PreviewOLE


Loads image from file or web (HTTP).  Supports JPEG, BMP, GIF and PNG  file formats.


Saves image to file.  Supports only JPEG format.


Set to 0 to disable Use device button. Set to 1 to activate instant image capture without any dialogs.

TurnRight and TurnLeft

Rotates image 90 degrees clockwise and anti-clockwise.


Copies current image to clipboard, making it possible to paste image into another application.

Crop X,Y,X1,Y1

Crops the image with the given coordinates rectange.

PicWidth and PicHeight

Return the bitmap image dimensions.


Inserts image from the clipboard.


Rename file in external storage. For that cases, when you need to overcome auto-generated names.


Aquire image from last used source.


Read/write property, id of image source, where -1 is WIA, -2 is TWAIN, -3 is Microsoft WDM, 0 and up – direct webcams.


Opens source selection dialog.

ShowFullPicture and ShowPanPicture and OpenPictureFile

Perform the corresponding action from OnClick property description.


  1. Please allow one more question. In the StoragePath property of my ole picture field I used a dot (“.”) as path, so as to have the captured image stored in the same folder as the main file of the database that includes the field the ole is bound to – as it is indicated in this documentation. However, instead of doing so the captured image is systematically stored in the C:\UserName\Documents folder. Am I doing something wrong?

    • Current path in Access is set differently depending of the way you open the database. When you open it thru File-Open you get one result, when you open it from link or explorer – you get another.

      • Ok, thanks. I’ll work accordingly! Best.

  2. Really it is fine.

  3. Can you explain the scripting? I can insert and display the images within my database fine. But I can not copy them once they are in the database.

    What am I missing?

    • Please tell me more, where are you trying to copy your images?

      • I may need to move or copy the pictures to a different application.

        • That is possible, but depends of details.

  4. Hello, good work.
    One question : how do we modify script options ? In fact, I would like to rotate an image to show it vertically after getting it, how do I manage it ?

    • There is no script, AccessImagine is Windows ActiveX component.
      From which source do you get this image you need to rotate?

      • I get it from a camera. I said script because there is a section called “Scripting options”. I have managed to rotate using a button and TurnRight option in VB. I do not know why but though ActiveX Object was working perfectly to get the images, AccessImagine was not in the list of available VB references and TurnLeft/Right was not working. So I downloaded it again and now I can use it in VB…

        • Yep, you can rotate it with VBA, but there is no event handler for image receiving. AccessImagine tries to guess camera orientation, does it fails for you?

          • Yes it fails, it is always horizontal. But it is an old camera (I can get the image files in the camera but I can not take a picture directly from AccesImagine in fact).

  5. Yes it fails, it is always horizontal. But it is an old camera (I can get the image files in the camera but I can not take a picture directly from AccesImagine in fact).

  6. Can you use a ADF to scan multiple pages to one pdf?

    • Nope, that is not possible with AccessImagine.

  7. We have successfully installed your program under access 97 and it is happily saving images as desired. We have added some code to check if the image already exists in a certain directory, and provided for multiple images associated with the same ID. We now notice that those images which have been viewed under access the program writes the jpg file into the My Documents directory (with a different file date)

  8. Can you give me an example of how to scan without user assistance. ie. instant scan?

    • You can write at VBA:


      What are you trying to do?

  9. Hello. I am storing thumbnails of external images in an SQL server 2012 table with a field type of image. Everything works properly. When I try to store the same data in a field of type varbinary(max) it fails. Microsoft will no longer support image in the future (SQL Server 2016+). Any suggestions? Thanks.

    • That is strange, AccessImagine works with VARBINARY fields.

      • You are correct sir! Tried it again and it works fine.

  10. Hi,

    I have developed an MS-Access 2010 database and I use AccessImagine in it, whereby one of the fields in a form captures images via a Microsoft LifeCam HD USB camera.

    It all works fine, in general, with the following exception. Sometime clicking the image field to capture an image doesn’t work – it says camera unavailable. Statistically, for 150 images captured on a typical day, this happens once or twice. It is only after exiting the MS-Access application and restarting it that things work again.

    I picked my brain and did all the troubleshooting I can think of but can’t find why this happens. I checked that the camera driver is up to date. Any idea? Any suggestion I can try? Thanks.

  11. Hi Max D,

    Thanks for your great control!

    Firstly, I’m a bit of a newby with Access 2007. I have a database that keeps track of stock and inventory for car parts. The data is imported from a Website and includes the URL of the image that is displayed for each part on the website. The field name in the Parts table is called [PartImageURL].

    I have successfully installed your control but can’t figure out how to configure your control so that it references the [PartImageURL]field and displays the image from the website in the control….

    Would you mind providing me with some help?

    Thanks very much.


  12. Hi Max D

    I figured out that the [PartImageURL] field needed to be defined as a Text field!

    All working!


  13. how to copy scanned image directly from accessimagine picturebox to another picturebox in c# ???

    • Maybe thats a bit late… You can access JPEG representation of image via Pic.Image

  14. Hi!
    At first – very good program :-) By now I’m using only demo, but I consider to buy full version.

    I have one issue. I have some Access projects, that doesn’t need any pictures. But if I open this kind of MS Access files on computers, that only have Access runtime environment (with full MS Access is the same), the computer can not open file because of missing AccessImagine. I can’t / don’t want to install AcessImagine on every computer, so is there any possibility to switch off your plugin for unneeded files?
    Looking forward to hearing from you :-)
    Best regs

    • It looks like you have inserted AccessImagine into this projects, and then removed it. The reference to the library still remains.

      Open VBA editor, go to Tools -> References and untick AccessImagine.

  15. I have placed this control on a form but every time I add a new record or move between records, the control shrinks, changing the layout of the entire form.

    • Remove control border, for some reason it causes this effect.

  16. Hi,

    I was wondering if its possible to save the picture to both external storage and at the same time save it in the database?

    Thank You

    • AccessImagine will do only one of this things. You need to write in VBA the another one.

  17. Hi!
    Is there any way to take a snapshot without delay?
    The .scan method “loads” the camera and then takes the snapshot, so there is a few delay. Is it possible to mantain the cam loaded, so when you click a button, it immediately gets the image?

    • Nope, that is impossible with AccessImagine.

      • No vba code possible?

  18. In my database the AccessImage is very small. It doesn’t fill up the field. Why does it do that?

    • You can stretch it. But you could place it inside the cell. You need to place it outside of any cells.

  19. sir Max im trying to use it however im unable to see the lighthouse picture prompting “because of your security settings and current security policy this control is disabled.”

  20. Dear Max, Great tool which adds tremendous value to my database application. A query about ImageBind. I cannot seem to work out how to use it to change or provide a ControlSource at runtime. Would you provide an example of code? thanks, Lance

  21. Hallo,
    I have used the as standard application for jpg-files in Windows 7/Access 2003 for a long time. Now I have changed to Windows 10/Access 2016 and OnClick/OpenPictureFile doesn’t work with Could you bring it back?

    • Try to set proper windows association for JPG files.

      • I did it. It doesn’t work.

    • How your system behaves when you double-click at JPG file?
      How AccessImagine behaves when you click to open picture?

      • If I assign to jpg-files as standard application, the jpg opens with when I double-click the file. If I try to open the picture with AccessImagine, nothing happens. The same behaviour I see with paint from Microsoft and with GIMP (Version 2.8).

        If I assing IrfanView (Version 4.27) or the Windows Photos App to jpf-files, AccessImagine opens the picture with the assigned application as well as a double-click on the file in the file system.

  22. Hello,
    I’m looking to bind the image to a datafield, but syntactically I’m unsure to do that after capturing the image.

    • If I understand your question right, you need to bind AccessImagine to datafield BEFORE capturing the image.

  23. Hello! How to change the default photo filename “SCAN__.jpg” to other custom initial?

    • If you bind AccessImagine to some text/number unique field, it will be used as filenames source.

  24. How can I resize the activex. I can not do a test. Thank you

    • More likely you have placed AccessImagine inside a cell, and it prevents resizing. Place it outside any cells.

      • But I’m inserting your activex into msaccess form and it always stays the same size regardless of the size of the image. How do I set a fixed size for it?

        • Are you able to shrink it?

          • No. I’ve tried everything.

          • More likely you are inserting AccessImagine object into the grid cell. If you still are unable to solve this, send your DB sample to

  25. HI,
    is there an way to center the copped image to the control? All cropped imaged are alligned to the left top corner…

    many thanks

    • Nope, there is no such an ability.

  26. How do I save the images that have been saved to my database. Is there any command?

    • Was that images saved with AccessImagine?

  27. This is a great object and displays picture files perfectly. Just one question how can you get GIF files to display in animated form?

    • Thank you! Animations are not supported.

      • OK thanks for the quick reply. It is a shame gif animation is not supported, this was just what I was looking for but I need to display the gif on an Access form in it’s animated state. I would definitely have purchased it immediately if it could. The only way I can see is with the WebBrowser object but it’s just so limited and the background cannot be changed to transparent which is what I need . Anyway Max, Thanks for your assistance. If you ever change the control or know of anything else please let me know. Thanks again for your work.

  28. Hi there. We have purchased the developer license and everything seems to be working great. We are using the tool for taking pictures on our snagging software that was developed in-house. However, it seems that you can’t zoom-in the camera control when taking pictures. Any options to do that?
    Please advise.

    • There is no ability to control zoom of webcam.
      Have you tried taking picture and cropping it? Does this gives satisfactory result?

      • Hi Max D,
        We are using the Surface Tablet Pro for snagging, thus utilizing the built-in camera of the tablet which can be zoom-in and out with a touch of the screen. However, that feature is not active while the camera is being used by AccessImagine picture control. And yes, we are using the cropping utility and our clients are not satisfied with the additional step in taking magnified pictures of snags. Kindly advise if you have a fix on this. Thanks


Submit a Comment

Your email address will not be published.