John Colby
jcolby at colbyconsulting.com
Fri May 9 18:41:39 CDT 2003
Uh oh, trolling for article subjects again? <grin> I claim to have made up the name (for this application), but I actually learned the technique from studying the open source for MS wizards. The name JIT means "Just In Time" which of course comes from a manufacturing "technique" back in the 80s. It was all the rage. Accepting supplies from your supplier "just in time" to build the product. It was designed (of course) to keep inventories low. Dell made it famous. Microsoft, in their wizards, will build a main form with a single subform control. Then the forward and back buttons basically just cause a specific subform to be bound to the subform control, "loading" the first subform, unloading that and loading the second etc. Back and forth, loading and unloading forms as you cycle through the "steps" of the wizard. I use bound forms, tabs, and subforms on the tabs. I started running into long load times for these rather complex forms. Having seen this technique of dynamically loading a subform into a subform control, it occurred to me to try loading my subforms "Just in time", i.e. only when the user clicked on the tab that had the subform on it. The main form loads faster since it doesn't have to load the subforms when it loads, in fact any given subform may never load if the user never clicks on the tab that contains that subform. JIT "Just In Time" Subforms. BTW, Williams technique for JIT subforms was that used by Microsoft - using a single subform control to load all of the subforms needed on a tabbed main form. I use a subform control on each tab that needs a subform. Our "discussion" had to do with the pros and cons of each method. My method essentially loaded the subform the first time the user clicked on the tab, but then kept it loaded from then on. William's method loaded a subform into a single tab control when the user clicked on a given tab, but unloaded that subform and loaded a different subform when the user clicked on a different tab. My method prevents the user from having to suffer the load time for any given subform the second and subsequent times the user goes to a tab. William's causes the user to wait for the subform to load every time any subform loads. However, when moving through records on the main form, William's method tends to be faster, sometimes MUCH faster. Since his method only ever has a single subform loaded at one time, the loading of data for the subform is faster. My method keeps the subforms loaded once they load that first time. Moving through the records on the main form is thus slower since ALL the subforms have to load their data for each record the main form is moved to. I have since moved to a SysVar (System Variables) system (table) embedded in my framework where I can set a default behaviors, but can then over-ride the default behavior by a SysVar table in the FE. One of the things I now to is allow the developer to decide on a subform by subform basis (if they wish) which method to use - load and leave loaded, or load and unload as the tab gets / loses focus. So... was that more than you ever wanted to know about JIT? ;-) If I see an article about it in the newsletters I'll know SOMEONE on this list is watching... John W. Colby www.colbyconsulting.com -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com]On Behalf Of Susan Harkins Sent: Friday, May 09, 2003 5:15 PM To: accessd at databaseadvisors.com Subject: Re: [AccessD] Subjects in Newsletters Ok, what the he*l is a jit subform? Susan H. > ...AccessD rite of passage ...until you've been on the wrong end of of a JC > rant, you can't really belong :) > > ...years back, a raw newbie to AccessD, I dared to mention that I did my > j-i-t subforms just a bit differently ...two weeks later and a masters > degree in Access intricacies later, we called a truce out of sheer > exhaustion ...not ours of course but everyone else on the list ...but I did > buy his JIT sample and used it from then on :))) > _______________________________________________ AccessD mailing list AccessD at databaseadvisors.com http://databaseadvisors.com/mailman/listinfo/accessd Website: http://www.databaseadvisors.com