Creating a Custom Ribbon in Microsoft Access

Access 2010 - Ribbon With Icons

Microsoft Access applications often live or die by their user experience. One of the most effective ways to control that experience is through a custom Ribbon. When designed correctly, a ribbon can guide users, reduce mistakes, and make an Access database feel like a purpose-built application instead of a collection of forms.

This article walks through the entire process of creating a custom ribbon in Access from how ribbons are stored, to debugging XML, to building dynamic, role-aware interfaces using VBA.
 
Continue reading

When Tech Gremlins Take Over; The Week My Sanity Clocked Out

Technology has a remarkable ability to humble you. Just when you start thinking you know what you are doing something breaks for no reason at all. No changes. No warnings. No explanation. Just a screen staring back at you as if to say this sounds like a you problem. That was my week. Every single day delivered a new surprise that felt custom designed to test my patience.
 
Continue reading

Limitations of the QuickBooks REST API; A Developer’s Review

This is going to be short and sweet, for now. I started writing this after hitting one too many issues while working with the QuickBooks REST API in PHP. Instead of losing track of them, or convincing myself I imagined them, I decided to jot everything down as I go.

What follows is not a polished article yet. It is more of a running list of oddities, limitations, and outright frustrations I have encountered in both the API and the Web UI. Eventually, I will clean this up and turn it into something more structured, but for now, this is the raw version.

Beyond PHP: VBA Included
The limitations discussed here are inherent to the REST API itself and not to PHP, VBA, python, or any other language. In prior posts, I’ve demonstrated how to connect Access (VBA) to QuickBooks. Thus, everything discussed below is equally application to all VBA solutions (Access, Excel, …) or any other programming language using the REST API.
 
Continue reading

How a File Download Took Down OneDrive (and Why Microsoft Allows It)

OneDrive Blue Cloud Icon

This is one of those IT problems that makes you question your sanity.

Everything looks normal except nothing works.

It started with something completely ordinary. A client downloaded email attachments from Gmail. No strange software. No warnings. No errors. Just files saved into a folder that happened to be synced with OneDrive.

A few minutes later their corporate cloud data was unreachable.

What I later found out is they had been in this position unable to access all their data for well over a week!

The typical troubleshooting, rebooting, … all did nothing to resolve OneDrive didn’t appear to be functional, data was not being synced.
 
Continue reading

How to Terminate a Windows Process Using VBA (Shell, WMI, and API Methods)

Following my previous post on working with Windows processes, specifically:

this article explores different techniques for terminating a Windows process using VBA.
 
Continue reading

Outlook Won’t Open? Outlook.exe Running but No Window; Here’s the Fix

Earlier this week, my neighbor called and asked if I could take a look at a strange Outlook problem she’d started experiencing.

When I sat down at her PC, she showed me exactly what was happening: she’d click Outlook, the loading animation would briefly appear, and then… nothing. Outlook never opened.

Outlook Won’t Launch, but Outlook.exe Is Running

I immediately recognized the issue from past experience with both Outlook and Microsoft Access. A quick look in Windows Task Manager confirmed it Outlook.exe was running in the background, but no GUI was displayed indicating it did not close properly when she last exited/closed down the program.

I forcibly terminated the process, relaunched Outlook, and she was back in business.

Or so it seemed.
 
Continue reading

QuickBooks Documentation Headaches

I’ve been doing a significant amount of QuickBooks automation recently using their REST API. As part of that development work, it’s necessary to regularly validate that the automation behaves correctly by checking the results in the actual QuickBooks Online interface. For the project I’m working on, my application connects to multiple QuickBooks company files, which means I frequently need to switch back and forth between companies.

It had been several years since I last used QuickBooks, so I turned to their official help documentation to find where to switch company files within the same account. Much to my surprise, the documentation for such a critical and commonly used action was simply wrong.
 
Continue reading

Quick Assist Not Working Minimum Security Requirements Not Met Error Explained

Microsoft Quick Assist Icon

For the past year or two now, Quick Assist was my go to tool for helping family, friends with their Windows computers. I used it to fix email issues, guide people through updates, and troubleshoot problems without needing to be physically present. It was simple, reliable, and always there when I needed it.

Then some time last week, it suddenly stopped working.

We ended the connection because the minimum security requirements on the helper side were not met.
 
Microsoft - Quick Assists App
That was it. No explanation. No details. Just an immediate failure every time I tried to connect.
 
Continue reading

Another Feedback Portal Suggestion Vanishes Into Thin Air

Microsoft Feedback

What more is there to say anymore? I was browsing the Microsoft Access Feedback Portal to see if there were any new suggestions worth supporting when I came across two ideas that felt immediately familiar. They were not just similar. They were identical to suggestions I had submitted months, possibly years, earlier.

Naturally, I went searching for my original submissions so I could comment on the newer ones and avoid diluting the vote count. To my amazement, both of my suggestions were gone. Completely vanished. Again!
 
Continue reading

How To Add a Custom Icon To ‘Pop Up’ Form and ‘Overlapping Windows’ Forms

Designing a professional Microsoft Access application often comes down to the small details like the icons that appear on your pop-up forms and overlapping window forms. By default, Access displays a generic icon, which can make even a well designed database feel unfinished.

Adding custom form icons in Microsoft Access not only enhances the visual appeal of your application, but also improves usability by helping users quickly identify open forms in the Windows taskbar or Alt-Tab view. For client-facing databases, custom icons also reinforce branding and professionalism, especially when distributing Access front ends.

In an ideal world, Microsoft Access would expose a simple, built-in property that allows developers to specify a custom icon for each form. Unfortunately, no such property exists. Despite Access offering extensive control over form appearance and behavior, the form icon remains hard-coded to the default Access icon, leaving developers with no native way to change it. As a result, implementing custom form icons requires working around this limitation by leveraging Windows APIs and graphics libraries approaches that are powerful, but far from obvious. Fortunately, with a bit of Windows API magic, we can still achieve exactly the result we want.

In this article, you’ll learn multiple techniques for setting custom icons on Access forms, including:

  • Using native Windows APIs with .ico files
  • Supporting PNG, JPG, and other image formats with GDI+
  • Loading icons dynamically from table attachments

All examples work with Popup forms and databases using Overlapping Windows (not Tabbed Documents), and are compatible with both 32-bit and 64-bit Access.
 
Continue reading