Image Cataloguer in Access with Chris Arnold

Ever wished you could effortlessly organize thousands of photos with consistent tags and metadata?

In this Access Europe user group presentation, Chris Arnold demonstrates a powerful image cataloguing solution built in Microsoft Access that combines drag-and-drop functionality with automated metadata tagging. The application uses HTML, JavaScript, and VBA to provide an intuitive interface for categorizing, tagging, and managing large collections of images while leveraging the ExifTool command-line utility to handle metadata operations.

Whether you're looking to organize your personal photo collection or seeking inspiration for implementing advanced UI features in Access, this presentation offers valuable insights into combining different technologies to create a polished, user-friendly solution.

Background and Motivation

The Problem

  • Organizing and finding specific images among thousands of photos is challenging
  • Manual tagging through Windows Explorer is time-consuming
  • Need for consistent categorization and metadata management
  • Difficulty in batch processing images

Solution Overview

  • Drag-and-drop interface for quick image categorization
  • Three-panel layout showing unprocessed, processed, and deleted images
  • Integration with ExifTool for metadata handling
  • Flexible category management system
  • Option to resize images during processing

Technical Implementation

Core Technologies

  • Microsoft Access as the application framework
  • HTML and JavaScript for the user interface
  • VBA for business logic and integration
  • ExifTool for metadata manipulation
  • ADO recordsets for data management

Key Features

  • Multi-column and single-column view options
  • Category tree management
  • Drag-and-drop image sorting
  • Metadata tagging support
  • Image resizing capabilities
  • Deleted image management

User Interface Design

Three-Panel Layout

  • Center panel shows unprocessed images
  • Right panel displays processed images
  • Left panel contains images marked for deletion
  • Customizable view options (multi-column, single-column, single picture)

Category Management

  • Hierarchical category structure
  • Drag-and-drop category reordering
  • Support for subcategories
  • Dynamic category folder creation

Technical Considerations

ExifTool Integration

  • Command-line tool for metadata manipulation
  • Must be located in path without spaces
  • 246-character path length limitation
  • Performance impact when Windows Defender is active
  • Supports various image formats (JPG, but not PNG for metadata)

Browser Control Requirements

  • Uses IE10 emulation mode
  • Not compatible with Edge browser control
  • Requires specific registry settings
  • HTML/JavaScript communication with VBA

Planned Enhancements

Future Features

  • MouseOver tag display
  • Direct category drag-and-drop
  • Multi-select image capabilities
  • Edge browser control compatibility investigation
  • Performance optimizations

Limitations and Constraints

Current Restrictions

  • Path length limitations from ExifTool
  • Windows Defender performance impact
  • Unicode filename limitations
  • IE10 browser control dependency
  • PNG metadata limitations

Resources and References

Available Tools

  • ExifTool command-line utility
  • Wayne Phillips' file property manager
  • Alternative metadata handling approaches
  • Custom HTML/JavaScript code samples

Recording

The full recording is available on YouTube:

Join Live!

Want to get even more out of these presentations? Join the live Access User Group events! The next upcoming events are listed on the AUG Event Calendar.

Attending live gives you the opportunity to:

  • Interact directly with presenters during Q&A sessions
  • Network with other Access developers
  • Share your own experiences and challenges
  • Get immediate answers to your specific questions
  • Participate in group discussions

With multiple user groups across different time zones (and languages!), you're sure to find a meeting time that works for your schedule.

Acknowledgements

  • Base cover image generated by FLUX-schnell
  • Initial draft generated by Claude-3.5-Sonnet