POPUP CLOCK for Microsoft Access
This utility is a COM add-in or add-in (.mdb) programmed in Microsoft® Visual Basic® for Application (VBA) that generates a special static or dynamic popup clock in Microsoft Access® to pick and count times. It makes it possible to insert times and time ranges (Time Picker) in Access in easy ways using only the keyboard or only the mouse, or both. See the pictures below.
It consists of only one file, the AccessClock.dll, which is about 540 kb in size and can be installed automatically using one of the installer package files available below to download. Except for the DLL, no other setting is saved in the Microsoft Windows® Register. Its setting is saved in AccessClock.ini file that is created and maintained by the proper utility. You also can uninstall it automatically using the same installer file, leaving no mess on your Windows Register or disc.
- Pops up in small size
- Pops up close to the mouse cursor or optionally at the last saved position
- Can pop up in three formats: normal, with count, with analogic display, and with both (count and analogic). In the normal format, hours, minutes, seconds, and decimal seconds can be typed directly in a friendly text box or picked with mouse from a smart scroll bar. With analogic, hour, minutes, and seconds can also be picked with sensitive mouse-over-click
- Period count: days, hours, minutes, and seconds from a reference time
- When counting from a reference time, allows to increase and decrease days, hours, minutes, and seconds one by one through buttons or by inserting amounts directly in textboxes
- Count reference time always can start set with Zero time, or Same Start Display Time, or Last Set Reference Time, or Now’s Time but it also can be set on the fly by right-clicking interface controls
- Interface controls to go to now’s time or back start time
- The behavior of insert can be set via menu to: Insert and Close, Insert Without Close, Add Break Line, and Add Tab
- Inserts without breaking the current thread of Access ‘Undo’ command and any insertion can be normally undone by itself
- Can be called by the mouse right button (Context menu), or by a button in the Access Standard toolbar (2007, 2010, or 2013 Ribbon Add-ins tab), or by a keyboard shortcut key set by the proper user (hotkey)
- Output can be a variant (date) (computer-readable/unformatted time) or one of these 18 string formats (human-readable/formatted time): Long Win (defined by Windows Control Panel); Long Win2 (Long Win with milliseconds); Medium Win (defined by Windows Control Panel); Short Win (defined by Windows Control Panel); hh:nn:ss (09:05:58); h:n:s (9:5:58); hh.nn.ss (09.05.58); h.n.s (9.5.58); hh-nn-ss (09-05-58); h-n-s (9-5-58); Long 1 (9 hours, 5 minutes, and 58 seconds); Long 2 (nine hours, five minutes, and fifty-eight seconds); Range 1 (09:05:58 from 00:00:00 to 09:05:58); Range 2 (9 hours, 5 minutes, and 58 seconds from 00:00:00 to 09:05:58); Range 3 (nine hours, five minutes, and fifty-eight seconds from 00:00:00 to 09:05:58); Range 4 (32,758 seconds from 00:00:00 to 09:05:58); Range 5 (545.967 minutes from 00:00:00 to 09:05:58); Range 6 (9.0994 hours from 00:00:00 to 09:05:58); and Range 7 (0.37914 days from 00:00:00 to 09:05:58)
- Above outputs may still accept milliseconds and days when counting from a reference time
- Output formats are listed in a sensitive menu according to current display time with immediate insertion and default output format redefinition to the next new instance
- Can handle times from 0 to 12:00:00 PM or up to 1,000 days when counting from a reference time
- Supports multiple instances within a single instance of Access with independent controls, settings, counting, and results. In practice quantities, there is no limit to the number of simultaneous instances
- Count reference time controls in all open instances or some of them can be attached to set simultaneously
- Attached controls are distinguished by asterisks in the caption
- The feature of multiple instances can be disabled
- Four menu commands involving the system clock (Windows clock). The first is an option to get the time with a precision of milliseconds. The second allows synchronization of the display with the system clock, changing it from static to dynamic; and it can even be used as a stopwatch if the count is being shown. (Tip! If you need more features involving stopwatch and countdown, use the Popup Stopwatch for Excel® utility in this site too.) The third allows synchronization with accelerated counting (see next feature). The fourth makes it possible to set the system clock according to the time set on the display
- When selecting the "Synchronize with accelerated count" option, the count is shown and the display is synchronized with the system clock in an accelerated way to generate an accelerated count in relation to the set reference time. The default acceleration factor is x2, but it can be changed directly in the interface. The reference time can also be changed by its control in the lower left corner, or immediately by right-clicking on controls like “Go Start” or “Go Now”
- The display size can be adjusted through the borders to increase the font size from 8pt to until 32pt or decrease to until 4pt
- Can copy the time on display to Windows Clipboard. Tip! When inserting with Shift key pressed, the output is sent to Windows Clipboard instead
- Can paste on display existent time on Windows Clipboard
- Accepts the following hotkeys that make it possible to pick times only using the keyboard:
- The skin can be set up in: color and background picture, display and controls transparency, and hiding classic title bar
- Can unanchored its window from Access window, making it possible that it is visible even if Access window is minimized
- Can make its window is always on top in Windows
- The last opened setting or the last closed instance setting will be used as default in the next new instance
- Has menu commands to restore all default settings
- All instances running can be closed with a single click by selecting the Close All command in the menu
- Can be called directly from any VBA code through the fClock() function. See, soon below the pictures, a detail description of this function and examples of the VBA applications that use it
- Modal or Modeless
- Occupies less than 540 Kb when installed
Tested in Access for Windows, versions 2000, 2002(XP), 2003, 2007, 2010 (32-bit), 2013 (32-bit), and 2016 (32-bit) in MSI-based and Click-To-Run installations of Office 365™ cloud-based services.
The clock can be called directly from any VBA code through the fClock() function that has these 10 optional arguments:
1 - IniTime (Time, Default=Zero)
2 - RetTimeAsDate (Boolean, Default=True)
3 - WaitAndRetValue
(Long 0 to 2, Default=2). Where:
4 - FontDisplaySize (Long 4 to 32, Default=8)
5 - ShowAnalogic (Boolean, Default=False)
6 - AnalogicScalarPos (Boolean, Default=False)
7 - ShowCount (Boolean, Default=False)
8 - CountOfEachUnitIn (Boolean, Default=False)9 - LeftPos (String, Default="0")
10 - TopPos (String, Default="0"). Where LeftPos and TopPos are the distances in points (1/72 inches) from the center right side of the clock to the current mouse position. If the values are preceded by $ (dollar sign), LeftPos and TopPos turn to be the distances from left top corner of the clock to the left top fix corner of the screen. And yet, if there is only the $ without number, will be used the current default position.
1 - The code below calls the clock in modal to return time as variant (Date) to a userform.
2 - The code below calls the clock in modeless to return time in any of the output formats like in the right click command.
3 - Idem to capture and return time to active selection.