The fundamental principles of algorithms according to Edsger Dijkstra

A Developer Pondering Over Dijkstra's Algorithm Principles

As a substitute teacher of PHP and JavaScript last year, one aspect that struck me profoundly was the noticeable gap in my students’ understanding of some fundamental computer programming concepts. This realization dawned on me particularly during lessons on stacks and queues. Recognizing this, one of the first initiatives I took was to introduce them… Continue reading The fundamental principles of algorithms according to Edsger Dijkstra

How to decompose your Access application into files

Decomposing your Access application into external files can be useful for external process automation of source code, version control, or disaster recovery. An Access application is composed of objects of different nature, like forms, reports, queries, macros, code and class modules. Hopefully, you’re already splitting your solutions in separated databases. This for a good reason,… Continue reading How to decompose your Access application into files

How to darken or lighten an RGB color in VB/A

Generate a light or dark color shade from an RGB color value. The ShadeColor() function takes an RGB color value (a Long) and applies a shading algorithm, converting to HSV to darken or lighten the color, then back to RGB to use it in VB/A. Download sample Access database with the code.Then open the frmShadeTest… Continue reading How to darken or lighten an RGB color in VB/A

How to validate an IBAN code with VB/A

Bank accounts are identified with a standardized IBAN code that simplifies international transactions. The code identifies the country, the banking institution and a customer account. You’ll find a function to validate an international Bank account IBAN identifier with VB/A in this post, along with a bunch of test IBANs. There’s a “checksum” contained in the… Continue reading How to validate an IBAN code with VB/A

How to reverse a string in VB/A

There are many ways to do a simple string inversion, character by character, with VB/A. This function uses the Mid$ keyword as a function and as a statement to do it.

Solving the Unicode, UTF8, UTF16 and Text Files conundrum in VBA

Understanding Unicode variants like UTF8 and UTF16 and how they impact your Office VBA development is not so straightforward. This post will guide thru the experience of reading a text file with VBA, explain some of the pitfalls you may encounter on this path when dealing with different text encodings and file formats. We’ll shed… Continue reading Solving the Unicode, UTF8, UTF16 and Text Files conundrum in VBA

Using national language support in Office with VBA

Localization demo application screenshot

If you need to handle multiple languages, get some specific regional settings, or do things like implement dynamic runtime language switching in your Microsoft Office solutions, you can leverage some additional help using the national language support Win32 API in VBA. Do you know why you have to use the US English date format when… Continue reading Using national language support in Office with VBA

Explaining the real time device detector Access demo database

In this post, we’ll examine and explain how the Access application that demonstrates a possible, real life use case, of the device detection feature of the AxDeviceDetector ActiveX server. See the downloads section below to download a copy of the database. Scenario We want to allow, let’s say, restaurant waiters or employees, to register their… Continue reading Explaining the real time device detector Access demo database

Explaining how to detect device arrival/removal in an ActiveX server in real time

We’ve seen know how to get some useful information (like vendor ID and serial number) from attached Windows devices, using a C DLL. Interfacing the DLL with Visual Basic, was then just a matter of declaring the DLL functions in a standard module. With some more basic wrapping, we’ve obtained a simple API function and… Continue reading Explaining how to detect device arrival/removal in an ActiveX server in real time

How to get useful Windows device information in VBA

Here are (at least) 3 properties of hardware like hard disks (whether they are HDD, SSD, USB or else), printers or anything else that Windows considers a device. These can be very useful to obtain in applications that manage enterprise assets like data and documents: Vendor name, Vendor ID, and serial number. These hardware properties… Continue reading How to get useful Windows device information in VBA