Home Privacy Policy Feedback Link to us Site Map

Access: Change the tab order on a form with VBA code in Access 2003/XP/2000/97


Question:  In Access 2003/XP/2000/97, I want to be able to change the tab order on a form using VBA code. How can I do this?

Answer:  We've created a sample Access database that you can download that demonstrates how to change the tab order on a form.

Download version in Access 2000

Let's take a look at the example. Below, we have a form where the user can change the tab order by selecting a radio button.


If the user selects the "Order tabs down and then across" radio button, the tab order will be as follows: Supplier ID, Company Name, Contact Name, Contact Title, Phone, Fax, and Home Page.

If the user selects the "Order tabs across and then down" radio button, the tab order will be as follows: Supplier ID, Phone, Company Name, Fax, Contact Name, Home Page, and Contact Title.


This tab reordering is done by the following code:

Private Sub frameTabOrder_Click()

    'Order tabs down and then across was chosen
    If frameTabOrder.Value = 1 Then
        [SupplierID].TabIndex = 0
        [CompanyName].TabIndex = 1
        [ContactName].TabIndex = 2
        [ContactTitle].TabIndex = 3
        [Phone].TabIndex = 4
        [Fax].TabIndex = 5
        [HomePage].TabIndex = 6

    'Order tabs across and then down was chosen
    Else
        [SupplierID].TabIndex = 0
        [Phone].TabIndex = 1
        [CompanyName].TabIndex = 2;
        [Fax].TabIndex = 3
        [ContactName].TabIndex = 4
        [HomePage].TabIndex = 5
        [ContactTitle].TabIndex = 6

    End If

End Sub