| | | Building an Image Database with Microsoft AccessA comparison of techniques for handling images in Microsoft Access applications.
'Embedding' approaches (images stored in the database) |
| | Embedding with the Bound OLE Frame | | | | Embedding with the Access Image Control | | | | Embedding with the DBPix Image Control | | | | 'Linking' approaches (images stored as external files) |
| | Linking with the Bound OLE Frame | | | | Linking with the Access Image Control | | | | Linking with the DBPix Image Control | | |
Embedding with the Bound OLE Frame
| Simple to implement | | Little (or no) code required for basic functionality. | | Very high storage overhead | | Storing jpeg images typically requires between 10 and 100 times the size of the original files. | | Proprietary & undocumented storage format | | Data not directly usable from other platforms, eg VB, IIS/asp etc. Extraction of image data to files difficult, and usually results in additional lossy compression and loss of metadata (eg EXIF camera info in digital photos). | | Highly susceptible to configuration problems | | A specific 'OLE Server' application must be installed on every user's system, and registered for the relevant file types. This is a common source of problems, particularly when new software/OS is installed, and can be very difficult to maintain across multiple systems. |
Embedding with the Access Image Control
| Complex to implement | | Developer must code binary storage, extraction to temporary files and image control loading, file selection/browsing. | | No storage overhead | | Images occupy the same space that they would as files on disk. | | Susceptible to configuration problems | | Users must manually install the necessary graphics filters (not redistributable). | | Image control behaviors require several workarounds | | 'Scroll too quick' crash, suppress progress dialog. |
Embedding with DBPix
| Simple to implement | | Little or no code required for basic functionality. | | No storage overhead | | Images occupy the same space that they would as files on disk. | | Simple and reliable configuration | | No reliance on optional system components, external applications, file registrations or other variables. One-time control install only. | | Enhanced functionality | | Zoom/fit/pan etc. Resampling/create thumbnails. Preserve and view EXIF (digital camera) info. Built-in file browsing (load and save). Background (asynchronous) decoding. Rotation (including Lossless jpeg rotation). Clipboard integration. TWAIN scanner/camera integration. |
Linking with the Bound OLE Frame
| Simple to implement | | Little (or no) code required for basic functionality. | | Very high storage overhead | | Storing jpeg images typically requires between 10 and 100 times the size of the original files. | | Highly susceptible to configuration problems | | A specific 'OLE Server' application must be installed on every user's system, and registered for the relevant file types. This is a common source of problems, particularly when new software/OS is installed, and can be very difficult to maintain across multiple systems. |
Linking with the Access Image Control
| Moderately simple to implement | | Developer must code file selection/browsing, and Image Control loading. | | No storage overhead | | No binary data stored in the database. | | Susceptible to configuration problems | | Users must manually install the necessary graphics filters (not redistributable). | | Image control behaviors require several workarounds | | 'Scroll too quick' crash, suppress progress dialog. |
Linking with DBPix
| Simple to implement | | Minimal code required - developer must code image control loading only. | | No storage overhead | | No binary data stored in the database. | | Simple and reliable configuration | | No reliance on optional system components, external applications, file registrations or other variables. One-time control install only. | | Enhanced functionality | | Zoom/fit/pan etc. Resampling/create thumbnails. Preserve and view EXIF (digital camera) info. Built-in file browsing (load and save). Background (asynchronous) decoding. Rotation (including Lossless jpeg rotation). Clipboard integration. TWAIN scanner/camera integration. |
Imaging for Access that's Easy, Efficient & Fast
| NO OLE Bloat | NO App Dependencies | NO Complex Coding | NO Performance Penalty |
| | | Read More
|
|
|
|
|