I was asked to do a similar tab through option list and came up with this:
CODE
Private Sub Option16_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 9 Then
If intOpt = Me![Frame11] Then
Me![TextBox].SetFocus
ElseIf Shift = 0 Then
If intOpt = 0 Then intOpt = Me![Frame11]
Me![Frame11] = 3
Else
Me![TextBox].SetFocus
End If
End If
The code was placed in the key down event of each option where Frame11 is the containing frame. The 'Me![Frame11] = 3' is amended so that the tab cycles round all option in the frame until the shift key is held when tabbed and then the focus then moves to the next control (here 'TextBox'),
If the tab has cycled round all values the control will also go to the next control (when intOpt = the initial value) intOpt is set to zero in the Frame11_Enter event. intOpt is defined as a private variable at the top of the code window:
CODE
Option Compare Database
Option Explicit
Private intOpt As Byte
Hope this helps (or maybe of some interest!)
Edited by: pere_de_chipstick on Tue Apr 29 5:28:26 EDT 2008.