Hi -
A Rant--
I often wish that developers who pride themselves on theoretically correct programming skills could be offered the opportunity to spend a few days inputting data using their squeaky-clean techniques, in a high-speed environment with a deadline hanging over their heads. In my experience they produce technically correct 'clunkers'!
Examples:
Calendar Controls. They look gee-whiz and work great if you’re working with the current or previous month. Conversely, they absolutely suck if one is required to input the date of birth (DOB) of a seventy-two year old nursing home patient. Clickety-Clickety-Clickety gets old real fast, while a formatted text box works just really fine, in a fraction of the time.
Combo Boxes. Great for restricting the user’s options but absolutely hideous if the user is required to choose a day between 1 and 31. Provided the user knows the potential options, a formatted text box improves speed and accuracy many-fold.
Normalization and Spreadsheet Mentality. In MHO, there’s a place for a non-normalized solution. Take this thread: Imagine a scenario where a patient/client is receiving both residential and non-residential services. Residential services are a piece of cake: client is admitted on x date, discharged on y date—a simple DateDiff() equation sorts that out with a separate record for each day of their stay. If, however, the client is also receiving non-residential services, from multiple caregivers, on an irregular basis, then a subform linked to the client, with caregiver combo, service combo, and Days 1 – 31 (each with a default value of 0) makes perfect sense. The user can input the mm/yyyy, caregiver and service code and then skim across the form adding service units where needed, with a calculated totals field to show the number of service units provided during the mm/yyyy. Denormalized, you betcha, but it takes very little programming skill to convert this denormalized record into a fully normalized table in a matter of seconds, disregarding the unused dates. Consider the ‘normalized’ option: Enter the Caregiver, Service, and a date, then the number of units. Then do it again for the next date, and again and again and again. Don’t know about you, but that doesn’t sound like a ‘good deal’ to me.
End of Rant!
Bob