Product Review: Object Property Manager

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
Expanded

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. 

»


See All Articles by Columnist
Danny J. Lesandrini

Danny Lesandrini
Danny Lesandrini
Danny J. Lesandrini currently works as the IT Director for Pharmatech Oncology Inc. at http://www.pharmatechoncology.com/. He holds Microsoft Certifications in Access, Visual Basic and SQL Server and has been programming with Microsoft development tools since 1995.

Get the Free Newsletter!

Subscribe to Cloud Insider for top news, trends & analysis

Latest Articles