I have a large queue of products to review, but I bumped
this Veraccess tool to the
head of the list for a couple of reasons. First, because I love what
Object Property Manager does. This Microsoft Access development Add-In
lets you set form and report properties for multiple objects all at
once. It could literally save you hours of development time by
allowing you to set and save common properties without having to open, modify
and save all your form and report objects individually.
My second reason for wanting to feature this product is that it
is the most reasonably priced utility for Access I have ever reviewed. In
fact, for a limited time, you can download a registered copy for only $9.95 but
you had better hurry, because after July 30th, 2004, the price soars to the
whapping sum of 15.95.
Forgive me if it sounds like I am making fun of the
price. I assure you, I am not. I think it is great when an
Access developer finds a way to automate and/or expedite tedious tasks and even
better when he shares those tools with others. Even at the $15.95 price,
it represents only a fraction of a single hour of billing time for
most developers. The only lower priced utilities on the market are free,
but they do not do what Object Property Manager does. Which brings us to
the point of this review…
What does Object Property Manager do?
Before we get started, it is worth mentioning that the
download and install process was simple and executed flawlessly. As
mentioned, it works as a Microsoft Access Add-In, so once the installation is
complete you simply open any Access database and select Object Property
Manager from the Add-Ins menu. There is a separate version for Access 97,
2000 and 2002. As yet, I didn’t see a 2003 version at the Veraccess web
site.
In order to do its thing, Object Property Manager needs to
close and save any open forms or reports when it opens, but you are prompted to
that effect before it goes ahead and commits some changes you hadn’t wanted to
change. This makes sense, of course, since behind the scenes, this
utility will be opening up your database objects, effecting the changes and
then saving them. It needs to start from a "clean" state with respect
to the form and report objects.
You are greeted with a dialog window like the one
below. The process is simple. Select the form or report objects,
whose properties you want to modify, from the list box and set any and all
desired properties to the new values. In my example, I’ve selected
all my subforms and I want to set some properties, such as Dividing Lines (I
hate it that dividing lines are ON by default), border style (sub forms do not
need borders), Control Box, Max Min Buttons, Close Button and several others
that could be turned OFF for sub forms. Once I am satisfied with my
choices, I click the Apply button and my properties are set. It’s that
simple.
As you can see from the interface snapshot, you can select
all or none of the objects with the click of a button. The Reset All
button resets all property selections to "(Current
Value)" The utility comes with a comprehensive help file,
which includes a list of properties available for manipulation, as shown below:
Forms |
||
Format Tab |
Data Tab |
Other Tab |
Default View |
Allow Filters |
Pop Up |
Allow Form View |
Allow Edits |
Modal |
Allow Datasheet |
Allow Additions |
Cycle |
Allow Pivot Table |
Data Entry |
Menu Bar |
Allow Pivot Chart |
Recordset Type |
Toolbar |
Scroll Bars |
Record Locks |
ShortCut Menu |
Record Selectors |
Fetch Defaults |
ShortCut Menu Bar |
Navigation Buttons |
Fast Laser Printing |
|
Dividing Lines |
Help File |
|
Auto Resize |
Context ID |
|
Auto Center |
Tag |
|
Border Style |
Allow Design Changes |
|
Control Box |
||
Mm Max Buttons |
||
Close Button |
||
Whats This Button |
||
Picture |
||
Picture Type |
||
Picture Size Mode |
||
Picture Alignment |
||
Picture Tiling |
||
Layout For Print |
||
Grid X and Grid Y |
||
SubDatasheet Height |
||
SubDatasheet |
||
Orientation |
||
Moveable |
Reports |
|
Format Tab |
Other Tab |
Auto Resize |
Record Locks |
Auto Center |
Date Grouping |
Page Header |
Pop Up |
Page Footer |
Modal |
Group Keep Together |
Menu Bar |
Border Style |
Toolbar |
Control Box |
ShortCut Menu Bar |
Mm Max Buttons |
Fast Laser Printing |
Close Button |
Help File |
Picture |
Context ID |
Picture Type |
Tag |
Picture Size Mode |
|
Picture Alignment |
|
Picture Tiling |
|
Picture Pages |
|
Layout For Print |
|
Grid X and Grid Y |
|
Orientation |
|
Moveable |
One function on this form that is not entirely intuitive by its label is the
Open In Mode combo box. After selecting one or more objects from the
list, you may open them in the desired mode (Normal, Design, Print Preview,
etc.) by selecting a mode from the drop down list. While this
closes the Object Property Manager utility, it is a convenient way to check out
your changes.
How it works and extending the paradigm?
While I cannot claim to be privy to the actual code behind
this Add-In, I have written code to do similar things in my day. The idea
is simple and leverages the object oriented nature of Microsoft Access database
objects. For example, you can loop through the form documents
collection to get a list of available forms, open one, set a form object to
this open form and begin reading and/or manipulating the properties.
Because the Object Property Manager only costs $15.95, it is
not worth my time to reproduce the code to do this. I guess that is what
makes the tool worthwhile. However, I have included some code below that
shows how one might loop through all the controls on a form, setting a common
property such as Control Tip Text.
I chose this particular example because the Status Bar text
is automatically populated based on the field description you provide when
designing a table, but the Control Tip Text (Tool Tip) is not. It is a
trivial matter to extract the status bar text and plunk it into the tool tip
and the process is similar, I imagine, to what is being done in the Object
Property Manager. The difference, of course, is that for the time being
the OPM does not allow you to edit the properties of controls. You may
only modify the form or report which contains the controls. Accordingly,
the following snippet might be useful to you.
Sub UpdateToolTips(strForm As String) '///////////////////////////////////////////////// ' Although the Form Wizard will automatically ' populate the Status Bar Text property with ' the field Description value of the TableDef, ' ControlTipText is not populated. ' ' This function cycles through all controls, ' copying the StatusBar Text to ControlTip text. '//////////////////////////////////////////////// ' ' Since not all controls possess these properties, ' turn error handling off ' On Error Resume Next Dim mydb As Database Dim frm As Form Dim ctl As Control Set mydb = CurrentDb DoCmd.OpenForm strForm, acDesign, , , , acHidden Set frm = Forms(strForm) With frm For Each ctl In frm.Controls ctl.ControlTipText = ctl.StatusBarText Next DoCmd.Close acForm, strForm, acSaveYes End With Set ctl = Nothing Set frm = Nothing Set mydb = Nothing End Sub
Final Thoughts
By supplying my own code, I was not trying to steal anyone’s
thunder. Object Project Manager, available at the Veraccess web
site, is a great tool and if you do any amount of Access development, you
will find an immediate use for it in your toolbox. If and when the
functionality is expanded to include the manipulation of individual controls on
forms and reports, then it will be a truly indispensable utility.