A lot of people don't realize how similar today's business operations are to those from sixty years ago. Consider, for example, what a 1940's manager would do when he needed a report: like today's manager, he would turn to his computer for help; also like today's manager, he would issue his computer a command: "Jenkins, I need the Commissionable Sales Report for June on my desk ASAP;" and like today's computer, if the report wasn't too complicated and the computer wasn't bogged down with other tasks, the manager would receive the report in a reasonable time period.

If you think about it, the only differences between then and now are in the details: people (well, normal people) don't converse with their computers, "reasonable time" is measured in seconds not days, and fedoras are no longer considered proper business attire. Aside from the lack of fedoras, businesses run much more efficiently than they did back then. At least, that's what Brandon believed.

When Brandon started at a new company, he was surprised to see how their reporting system worked. While most companies use some sort of reporting application to allow for the easy creation and retrieval of reports, Brandon's company used the receptionist.

The process was fairly simple. For one particular report, the receptionist would pull up the Instruction Sheet (a Word document) which contained the forty or so steps required to generate the report. Some of the steps involved copy-pasting, others involved creating several Access databases to import data from the data warehouse, and one involved double-clicking on 87 different queries (named Run001, Run 002, Run087). The instructions were developed jointly by a (highly paid) business consultant and an access programmer.

From looking at the output, it was apparent that the entire report could be generated with a script and a few long queries. Not wanting to overstep his bounds, he offered the poor receptionist girl a little relief in the form of a Macro:

Public Sub RunAllQueries()
  Dim i As Integer
  Dim Query As QueryDef
  
  For i = 0 To CurrentDb().QueryDefs.Count - 1
    Set Query = CurrentDb().QueryDefs(i)
    If Left$(Query.Name, 3) = "Run" Then Query.Execute
  Next
End Sub

Though it only eliminated one of the forty steps, she was thrilled. In the sixty seconds it took to write the Macro, Brandon managed to save her sixty whole minutes of nothing but "double-click, wait, double-click-wait". And to end on a bit of good news, Brandon was able to get the report retired and replaced by a script with less-than a single printed page of code.

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!