Programmatically change combo box sorting

  • Thread starter alt.binaries.cd.genealogy
  • Start date
A

alt.binaries.cd.genealogy

I am looking for a way in Acc2003 to change the sorting of a combo
box, depending if the user holds down the Shift key when clicking the
combo box (i.e. no shift key = sort order (A), shift key down = sort
order (B)).

I have tried changing the combo boxes .RowSource in the On Mouse Down
event (which works) and checking for the Shift key, but this somehow
prevents setting the selected item in the dropdown list. Actually
just setting the existing .RowSource in the On Mouse Down prevents
item selection in the dropdown list.

Any ideas ??
 
J

Jeanette Cunningham

Hi,
you can trap for use of shift key in the key down event. To use the key down
event, you must set the form's Key Preview to Yes.

Here's some sample code ( not for the arrow keys).

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyD And ((Shift And acCtrlMask) <> 0) Then
MsgBox "Ctrl+D pressed."
End If
End Sub



vbKeyLeft LEFT ARROW key
vbKeyRight RIGHT ARROW key


Jeanette Cunningham MS Access MVP -- Melbourne Victoria Australia
 
D

Dorian

Why not have them click the combo box label to change the sort order? You
could even change the label background color to reflect the order.
-- Dorian
"Give someone a fish and they eat for a day; teach someone to fish and they
eat for a lifetime".
 
A

alt.binaries.cd.genealogy

Hi,
you can trap for use of shift key in the key down event. To use the key down
event, you must set the form's Key Preview to Yes.

Here's some sample code ( not for the arrow keys).

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyD And ((Shift And acCtrlMask) <> 0) Then
        MsgBox "Ctrl+D pressed."
    End If
End Sub

vbKeyLeft  LEFT ARROW key
vbKeyRight  RIGHT ARROW key

Jeanette Cunningham MS Access MVP -- Melbourne Victoria Australia

Jeanette,

Thanks for the help with the Key_Down code. Mostly I have a problem
when setting the .RowSource in the the Key_Down event, the combo box
stops working correctly.
 
J

Jeanette Cunningham

Mmm, there may well be an issue with changing the combo row source in the
key down event.
Like Dorian, I have always provided a button or label to change the sort
order of a combo.



Jeanette Cunningham MS Access MVP -- Melbourne Victoria Australia



Hi,
you can trap for use of shift key in the key down event. To use the key
down
event, you must set the form's Key Preview to Yes.

Here's some sample code ( not for the arrow keys).

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyD And ((Shift And acCtrlMask) <> 0) Then
MsgBox "Ctrl+D pressed."
End If
End Sub

vbKeyLeft LEFT ARROW key
vbKeyRight RIGHT ARROW key

Jeanette Cunningham MS Access MVP -- Melbourne Victoria Australia

Jeanette,

Thanks for the help with the Key_Down code. Mostly I have a problem
when setting the .RowSource in the the Key_Down event, the combo box
stops working correctly.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top