I have a splitform in MS Access, where I inserted multiple Command Buttons.
From left to right named:
I want the buttons to perform the exact same operations as the buttons in the ribbon.
I got (A) and (C) to work with the following VB:
Private Sub cmdClearAllFilter_Click()
DoCmd.RunCommand acCmdRemoveFilterSort
End Sub
Private Sub cmdFilterByForm_Click()
DoCmd.RunCommand acCmdFilterByForm
End Sub
However I still have trouble with (B) and (D), I want those to behave as click on the buttons in the ribbon marked below (preferable with DoCmd.RunCommand
otherwise with custom VB):
For (B) I tried:
Private Sub cmdFilterBySelection_Click()
DoCmd.RunCommand acCmdFilterBySelection
End Sub
I'm not able to describe the behaviour as I don't fully understand what it does. I can only conclude it does not behave as the ribbon button (drop-down giving 4 filter options on the marked cell/field/property/value).
For (D) I tried:
Private Sub cmdToggleFilter_Click()
DoCmd.RunCommand acCmdToggleFilter
End Sub
There are two problems with this:
On Error Resume Next
.Any help or guidance is appreciated.
With FilterBySelection, clicking button takes focus away from data control and Access doesn't know which parameter to use. Need to return focus to whatever control last had focus before button click. Try:
Screen.PreviousControl.SetFocus
DoCmd.RunCommand acCmdFilterBySelection
If you want to trigger the dropdown to select from:
Screen.PreviousControl.SetFocus
DoCmd.RunCommand acCmdFilterMenu
For toggling filter, I used: Me.FilterOn = Not Me.FilterOn
However, I don't see a way to utilize FilterByForm without clicking Toggle on ribbon or right click menu > Apply Filter/Sort.