Experts Exchange – Most Valuable Expert

Experts Exchange – 2022 Most Valuable Expert Award

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:

 

Continue reading

Microsoft Access – Table Fields or Table Columns, Which Is It?

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.

Other RDMS’

Now, if you have experience with pretty much any other database, tables are comprised of Columns (SQL Server/Azure, MySQL, PostgreSQL, ORACLE, …):

Continue reading

Microsoft Access – Quick Tips – The List Box Control

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:

Continue reading

Digitally Sign Your Microsoft Access Database

Letter with wax seal

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:

  • Add it to their own roadmap!
  • Post about it in their own blog!
  • Publish any in-depth documentation

(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:

Enable the ability to code sign your Microsoft Access database and VBA code: This update enables the Tools/Digital Signature command within the VBA (Visual Basic for Applications) IDE (Integrated Development Environment) for current Microsoft Access database formats. Signing a database will allow VBA code in the database to be run even if Trust Center settings specify that only digitally signed code should be enabled.Microsoft

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:

Signing a database will allow VBA code in the database to be run even if Trust Center settings specify that only digitally signed code should be enabled.Microsoft

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?!

Continue reading

VBA – Get a String’s Hash

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

VBA – Phantom/Ghost BreakPoints

Ghost

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.

What Are Phantom/Ghost Breakpoints?

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.

Continue reading

Access – VBA – Find Attachment and MultiValued Fields

I thought I’d share a simple function that can iterate through a database’s tables to identify those containing ‘complex’ fields.

What Are ‘Complex’ Fields?

Simply put those, that use magic behinds the scene to store multiple values in hidden system tables.  In Microsoft’s words:

the specified field is a multi-valued data typeMicrosoft

Which Fields Constitute Complex/Multi-Valued Fields?

Basically, Attachments and Multi-Valued fields.

Why Would We Want To Identify These 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

VBA – WIA – Convert Image to Grayscale

Convert To Grayscale

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

VBA – WIA – FilterInfos and Filter Properties

 

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.

Continue reading