I have the pleasure of announcing that I have been awarded the Most Valuable Expert (MVE) award from Experts Exchange for the past year, 2022.
If you are interested you can view all the different awards and awardees by reviewing:

I have the pleasure of announcing that I have been awarded the Most Valuable Expert (MVE) award from Experts Exchange for the past year, 2022.
If you are interested you can view all the different awards and awardees by reviewing:

I recently saw a post in an Access forum get sidetracked into a discussion/argument regarding whether Access has table Fields or Columns?
It amused me and thought I’d make a brief post about it.
Now, if you have experience with pretty much any other database, tables are comprised of Columns (SQL Server/Azure, MySQL, PostgreSQL, ORACLE, …):
In this post, which will evolve with time, I hope to slowly build up a series of useful tidbits of information and code samples relating to working with List boxes. This will hopefully become something similar to what I did when I created my article on the Web Browser control:
which, surprisingly enough to me, has turned out to be one of my most popular posts.
In the this article, the major highlights include:
Whether it is to save, retrieve files, define the initial file dialog folder, … we often want to work with existing system folders. In this article, I thought I’d showcase a few possible ways to retrieve the path of system folders, or as some people refer to them as special folders.
Specifically, I will cover:
I briefly mentioned this new feature in my update to my post
but let’s formally acknowledge the fact that Microsoft has released a new “Tools/Digital Signature command” even though the Access Dev Team have yet to:
(Update 2023-01-12 – A week has gone by (released Jan 4th) and there is still no sign of any official announcements, publication on the blog or on the roadmap. )
According to:

the latest build ‘Version 2212 (Build 15928.20198)‘ includes:
So it is now possible to sign an Access database to automatically enable the content even in environment where it might be locked down and no longer require the creation of a Trusted Location for code to run.
Not to be too critical, but isn’t the statement:
the most useless statement ever. Signing a database makes it work in environments where only signed code should run. No duh! Kind of the purpose, no?!
In a previous article, I demonstrated how we could utilize PowerShell to get the MACTripleDES, MD5, RIPEMD160, SHA1, SHA256, SHA384 or SHA512 HASH of a string
I figured I’d also demonstrate how it can be done using plain vanilla VBA, no need for PowerShell at all.
Continue reading
Here’s a common issue, especially with Microsoft Access it would seem (other MVPs have confirmed experiencing this issue in Excel), that I meant to write about many moons ago, but simple never have. Today, in the private MVP group there was a conversation about it, so I thought this was a perfect opportunity to finally do so.
When I’ve experienced the issue firsthand, I had placed breakpoints in my code for testing, done some work and then removed the breakpoints, compiled… Yet, when running the code, the program stops execution and breaks into the VBE at the point where the Breakpoint previously was (as if it were still present even though it is no longer there visually in the VBE?!).
So basically, removing the Breakpoint did not work. I’ve even closed the database, reopened it only to have the ghostly Breakpoint remain, as if it were now part of my actual code.
The issue seems to have gotten worse with newer versions of Access as I had never experienced such an issue when I started development back in the days of Access 2000… I’m not sure if I first encountered this bug in Access 2010 or 2013.
I thought I’d share a simple function that can iterate through a database’s tables to identify those containing ‘complex’ fields.
Simply put those, that use magic behinds the scene to store multiple values in hidden system tables. In Microsoft’s words:
Basically, Attachments and Multi-Valued fields.
I’ve touched upon this in the past, MVF are EVIL. You never want to use hidden feature like these. You want to build your own related table structure that you are in control of. MVF can’t be upsized, can’t be used in union queries, … Attachments lead to database bloating and are always ill-advised except for very limited usages!).
Hence, when I take over a database, I run a series of checks, amongst others, identifying MVF so I can review them to see if they legitimately have their place or should be replace properly.
Continue reading
Today, I thought I’d add to my library of image manipulation functions
and I set out to see if there was a way, using WIA (Microsoft Windows Image Acquisition Library), to convert an image to black and white, well to be more precise to convert it to grayscale.
I originally searched high and low and could find nothing already done that I could utilize in any way. Oh there’s stuff out there for .net, C/C++, … just not VBA and certainly not relating to using WIA to perform the conversion. So I decided to try and create something myself (I have to stop doing this).
Not knowing a thing about the difference between a color image and a grayscale image (from a technical, pixel, standpoint) I set out to do some research.
I asked in specialized forums, but my questions went unanswered for days, even weeks. It took me a considerable amount of time as I didn’t have the proper terminology for performing searches, but eventually, I found what I was after!
Now, I was ready to build a VBA function to perform the conversion. After many attempts, I manage to create a function!
Continue reading
I’ve written a couple articles about using WIA to work with images:
and many more.
In the past, I’ve been asked how can I determine which filters are available and which properties each filter possesses since this isn’t listed in the documentation!
Well, I created a couple ‘helper functions’ that provide this information by simply iterating over the collections and displaying it to me via the VBE Immediate Windows.