Access JumpStart 2.0 | Blog
A Rapid Development Framework for Microsoft Access
Recent Articles
Why, Jon, Why??? For the love of VBA, Why?????
From my message yesterday:Separating business logic, user interface, and data persistence in a real world Access app | Access JumpStartI laid out a potential structure which included a Table which would be a data persistence layer a Form which represents a user...
Separating business logic, user interface, and data persistence in a real world Access app
Considering a simple app to calculate the number of payments it would take to payoff a credit card, how might I architect this in Access to optimize for separation of database, user interface, and business logic layers? Let's consider a simple app with a table like...
You can split a db, but can you split a form?
What would your strategy for splitting a form between logic and database record management? I'm honestly asking, because that's what I'm thinking about today. I'm thinking in terms of creating tests a la TDD style work. Having business logic that you could separate...
Measuring Height of controls using the CanGrow Property in Access (Part 3)
In the past 2 day's messages I have been wrestling with calculating the height of a report. In particular the detail section of a report inside a subreport control on a form in which the report is shown in report view (not print preview). This situation creates unique...
Measuring Height of controls using the CanGrow Property in Access (Part 2)
In Friday's message, I was working on determining the height of the detail section with a Text Box control that has the CanGrow property set to "Yes". It is possible to determine this when displaying the report in "Print Preview" mode using the OnFormat event or the...
Measuring Height of controls using the CanGrow Property in Access (Part 1)
This property is on form and report sections and many controls like Text Boxes. This seems to be a wonderful property for automatically adjusting the height of things on a form until you make the inevitable discovery: It only works in a form when you are printing the...
Access custom event registration
When registering events for controls on a subform, make sure you remember that you re-register those events after reloading the subform control via the SourceObject property. In my case, I was always loading a subform initially and the Open routine on the subform...
Access form starting on a blank record causes problems
My Access adventure today was helping work on a problem for a customer where they were getting errors on a form that was bound, and when opened automatically starts writing a default date and time to a record. The code checks to see if this record becomes valid as the...
When TDD doesn’t work
I had a problem with my Access program where I had separated the database from the business logic in order to test the business logic. My tests ran successfully on the business logic, but I had introduced an error on the db side creating the data in a live environment...
CoPilot’s refactoring abilities
I gave copilot this prompt: Rewrite this VBA function using Uncle Bob's SOLID principles:Function time_() '****************** Dim v_a As Integer Dim v_b As Integer Dim v_c As Integer '- - - - - - - - - v_a = Hour(Now) v_b = Minute(Now) '****************** If Hour(Now)...
How about an Access TDD Bootcamp?
This is an experiment today. I don't think I'll get fully through what I would want to do today, but I want to start a little series on using TDD along with a form in Access. What would the whole process look like from beginning to end? I'm thinking something like...
Test Driven Development – splitting logic from DB
In a message I sent a few days ago: Test Driven Development Fakes Are Faking me out! I was lamenting that some tests I was trying to write using a fake testing object, simply were returning the values that I needed to pass the test. I'll use a small bit of my objects...

Quick Links
About
Our goal is to help people simplify their business by providing software products to streamline their work.
Contact
(630) 423-4994