Looking to take your VBA skills further?...

Discover twinBASIC — a powerful new development platform that expands on VBA and VB6 with advanced features, modern tools, and enhanced compatibility. Perfect for those ready to elevate their projects or transition from VBA, twinBASIC lets you build on what you already know and take your applications to the next level!

Try out twinBASIC Community Edition - it's free!

Editing Form and control properties at runtime

        1 votes: *****     2,923 views      No comments
by Allen Browne, 20 April 2005    (for Access 95+)

Microsoft Access Tips for Serious Users

Provided by Allen Browne, 1994. (Note: Access 2000 introduced conditional formatting options as well.)


Properties at Runtime: Forms

In Access version 1, only a few properties such as Visible and Enabled were editable when the application was running. In later versions, only a handful of properties are not available at runtime, so you can use the Current event of a form or the Format event of a report section to conditionally alter the formatting and layout of the data, depending on its content.

For example, to highlight those who owe you large amounts of money, you could add this in a form's Current event:

    With Me.AmountDue
        If .Value > 500 Then
            .Forecolor = 255
            .Fontbold = True
            .Fontsize = 14
            .Height = 400
        Else
            .Forecolor = 0
            .Fontbold = False
            .Fontsize = 10
            .Height = 300
        End If
    End With

screenshot

Some of the changes you can perform are rather radical, such as changing the record source of a form while it is running! You might do this to change the sort order, or - with astute use of SQL - to reduce network traffic from a remote server.

In addition, some controls have properties which do not appear in the "Properties" list at all, since they are available only at runtime. For example, combo boxes have a "column()" property which refers to the data in the columns of the control. Picture a combo box called cboClient with 3 columns: ID, Surname, Firstname. When not dropped down, only the ID is visible, so you decide to be helpful and add a read-only textbox displaying the name. DLookup() will work, but it is much more efficient to reference the data already in the combo by binding your textbox to the expression:

    = [cboClient].[Column](2) & " " & [cboClient].[Column](1)

Home Index of tips Top

Rate this article:  Your rating: PoorYour rating: Not so goodYour rating: AverageYour rating: GoodYour rating: Excellent


This is a cached tutorial, reproduced with permission.

Have your say - comment on this article.

What did you think of 'Editing Form and control properties at runtime'?

No comments yet.

Why not be the first to comment on this article?!

Have your say...

Name
E-mail (e-mail address will be kept private)
Comments


Comments require approval before being displayed on this page (allow 24 hours).