How I got An Army Medal for Programming in VBA

I read a story on Hacker News a few days ago about an individual who received an Army Commendation Medal for programming, and thought I’d share mine. 

During start of Operation Iraqi Freedom, lots of National Guard and Reservists were placed on Active Duty orders to deploy to Iraq.  In October of 2003, I received a set of orders to do just that, along with the rest of my National Guard brigade.  After four months of training, to include NTC and JRTC, we deployed to Iraq.  After a brief stint in country, I found myself returning to the States for medical reasons.  

When I arrived back at Fort Bragg, I was a part of what was then known as a Medical Holdover Unit, or “MedHold” for short.

There’s a hierarchy in the Active Army.  First it’s SFOD-D (“Delta”), then SF, then Rangers, then Airborne and Air Assault, then the line units, and then the Combat support units, then the support units, then the garrison units, then the TRADOC units, and then, after all that, the Medical Holdover units.  

It is quite literally the lowest of the low to the rest of the Army.  If you can’t fight, you can’t be a soldier, and if you can’t be a soldier, then you’re just getting a paycheck.  

During my first few months at the MedHold unit (at that point re-aligned to be a part of the Garrison, and rebranded as the “Medical Retention Processing Unit”), I witnessed hundreds of National Guard and Reserve soldiers coming back to be placed in Medhold status (we were segregated into different units from the Active Duty soldiers for administrative reasons).  Some were combat wounded, but for the most part, they were returned because they should have never been deployed in the first place (due to medical issues).

Very quickly, the size of the unit increased from 150 to around 450 or so.  At this point, I was recuperating from the first of two knee surgeries, and because of my computer skills, was placed in the S-1 shop (The Administrative section, responsible for inprocessing, outprocessing, and handling the administrative issues for these 450 soldiers).

One of the first things I noticed is that the entire database that held all the administrative information about these soldiers was kept in an Access Database.  Moreso, it was kept in one large table. There were no backups, no disaster recovery, nothing — just one Access database shared by 6 people. Luckily we’d be able to re-type in everything from paper records — but even so it is a scary thought.

This Access database was not only used for CRUD operations; but also for reporting to the various commands that wanted to know what was going on.  At this time there was a lot of scrutiny placed on MedHold soldiers, and that timely reporting important.

One E-6’s job on a Monday was to gather together that morning’s strength report, compare it with the previous week, and send a tally to 1st Army that included all relevant information about the size of our unit; and the number of soldiers in each status (inprocessing, under care, going through the Medical Review Board Process, Outprocessing, or discharged)

It took him an entire day to compile this information.

The S-1 shop went on like this for some time; and then one day we were assigned an Administrative NCO, someone whose MOS was actually Administrative in nature (42A, IIRC) and he was able to help us get on the right track and do things the way a “real” S-1 shop would.

But that report still took an entire day to do.  

One of his first assignments to me was to figure out what was taking so long to do that report and to find a way to make it faster.

Using VBA and Access Forms, I was able to create a form that made it dead simple for me to correlate daily strength with weekly changes and trends, and use that to output a Crystal Report  (I think it was crystal reports; it could have been Access’s own internal Reporting utility) that compiled this information.  The time to compile that report went from a whole day to about 15 minutes, all told.

And that’s the interesting part of how I received my Army Commendation medal.

Leave a Reply