The Program:
A data inputting module constructed in Microsoft Access was used by myself and other employees to acquire data from quarterly financials and add it to our database. I did not create the module, but was taught how to use it and later instructed new employees on its usage. The data collected through this module is used to create graphs and provide a sense of how companies are doing fiscally.
The Problem:
Given that thousands of relevant financials are released every quarter, it is very important that the module be fitted with the tools necessary to maximize efficiency. While all the employees were able to achieve relatively speedy results after extended use, it became clear to me that many bottlenecks and barriers stood in the way of maximal efficiency.
Approach:
I began by drafting up my own ideas on redesigning the system and took suggestions from the other employees as well. We discussed the various workflows (as different employees had slightly nuanced ways of inputting the data) and established ideas that would accommodate each one. Ultimately we decided that the implementation of these three time-saving features would have the greatest effect:
- Built-in Calculator
- A function to add “000” to each value
- Hotkeys
Through studying the existing code and a little help from Google, I was able to gain an understanding of Access’s syntax and nuances. I then worked on implementing the above features in a way that would most effectively streamline the inputting. After implementation of the tools, proper testing by both myself and the other employees would provide points of refinement.
Implementation 1: The Calculator
The most important tool that needed to be added was a built in calculator. There are often values that need to be manually calculated, such as Miscellaneous Revenues and Non Cash Expenses. The time it takes to use a calculator in addition to the fact that it introduces a gap in focus were substantially reducing efficiency. This is not to mention the potential user miscalculations that could arise by the press of a wrong button and would go unnoticed.
The calculator is activatable from any numerical input field and will sum all values entered into it. Upon calculation, the calculator returns focus to the original field along with the newly calculated result. Its interface can be seen to the right (though the full calculator has 14 available numerical inputs). Negative values can be parsed as well, making it a viable option for Operating Income in addition to its typical usage among the Expenses and Revenues categories.
Implementation 2: The Rectifier
This simple tool was requested by the other employees and has certainly prevented some angry outbursts since its implementation. In financials, it is common for companies to shorten the text length of their values with an “all dollar amounts in 000s” specification. This note can often times be subtle or even missing from certain pages. In order to prevent employees from having to manually add the extra 000s whenever they overlook this, they can now simply hit the button to instantly alter the numbers. If they need to change them back for whatever reason, they may press it again to reverse the effect.
Implementation 3: Hotkeys
Hotkeys can improve efficiency very significantly. Programs such as Microsoft Access already have built in hotkeys that serve to streamline workflow. Since all the typical inputs are already taken, I opted for a ctrl+shift+letter format. This ensures that no hotkeys are pressed accidentally, and bypasses the default Access hotkeys. Due to the nature of the module, however, these shortcuts needed to be implemented in a special way.
To ensure no improper data is sent to the database all inputs are expected to be a certain variable, and upon the input of an incompatible variable, the program will open a dialogue explaining that the input must match the expected variable. Since Access always sees key presses as inputs unless they are parts of a native shortcut, ctrl+shift+D inputs a “D” into whatever field has focus before running the hotkey code, thus triggering the aforementioned dialogue and halting the process. To further complicate matters it is impossible to relinquish focus in Access; there is always some field that will have focus.
To get around this issue, I situated a small field in the bottom right of the module that will go unnoticed by the inputter. The field is set to accept any text value. When the user inputs ctrl+shift, the module stores the currently focused field, moves focus to this almost-hidden text field, and awaits a key input. Upon execution of whatever hotkey was pressed, focus is returned to the original field. The current hotkeys are as follows:
- Ctrl+Shift+D – Activates calculator. Can be pressed again to calculate value, closing the calculator and inputting its result into the field the user activated it from
- Ctrl+Shift+R – Simulates a press of the “Add 000s to all” button”. This hotkey is specifically placed away from the others to ensure it is not mistakenly pressed
- Ctrl+Shift+C – Simulates a press of the Update Note button and opens up the Dilution tool. Can be pressed again to calculate and input diluted shares, triggering the closing commands “Ready for Transfer and “Save and Close” (as this is the last input needed)
Results
The implementations changed workflow drastically. It is now possible to operate fully within the module, obviating any need to leave the module’s bounds and lose time. The calculator alone can turn a three minute financial into a one minute financial. The hotkeys are explained in a help dialogue visible in the top right corner, so new employees will always be able to utilize them. I can find and input the values seen in the opening image at about one financial per minute, which is a feat made possible only through the changes I made to the module.