by Peter Wone - GUI Computing
OK, youíve all heard about MSA20 and the prodigy that is Jet 2.0. Youíve all heard about richer event models, the completely code-exposed interface, user-definable floating dockable toolbars, form event code and all the rest of it... looks good on paper, but has anybody actually done anything with it? You bet!
Iíve been playing with MSA20 since late beta. Shrinked copies have hit the shelves, the autumn leaves are falling, and Iím in love. Nobody in our office can persuade me to develop with anything else. MSA11 and VB3 sit lonesome on my shelves, gradually gathering dust, and Iíve never had such a wonderful toy in my whole career.
Bugs? Undocumented features? Not many. Nothing I couldnít work around. Design flaws? Letís just say that I have started a wish list, but itís not long and I donít think it will be. Yes, Iím pushing the envelope, but then a bloke like me is never going to be satisfied.
A decent suite of events and event procedures for all of them have changed the way I work with Access. A consequence of this paradigm shift is a demand for new and different facilities. Other than invoking the macro command FindRecord (inefficient on large dynasets) there is no way to tell an MSA20 form "make the current row the tuple whose primary key is ęknown valueĽ" even though this can be done to a recordset.
In VB3 I could use the code below, but to the best of my knowledge no such access (sic) is provided to the dynaset underlying an MSA20 form.
Dim gID As Long ' Obtain value for gID) Data1.Recordset.FindFirst "ID=" & gID
Should anyone out there know of a way to operate on the dynaset underlying an MSA20 form, please write, fax, email (firstname.lastname@example.org) or otherwise tell me. I may even forgive you if you write it in lipstick across the windscreen of my car.
MSA20 does have some other shortcomings, but nothing that a decent support code suite and sensible coding and design standards wonít cover. At least, for everything that has cropped up so far.
And now we await the release of data-aware OCX controls, and then MSA20 takes over the world.
Well, at least the database-centric world, in any event.