Phythaelic
asked on
Applying filters using VBA when "Apply Filter" button is NOT pressed.
I am trying to filter the data on a form using the filter by form method, but I want to either have a button on the form to apply the filter, or apply the filter when the filter is closed. I want to have the menu option disabled for filtering.
Here is some current code that I have...
Private Sub Form_Open(Cancel As Integer)
DoCmd.RunCommand acCmdFilterByForm
end sub
here is the code I am trying to implement, with error
Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer)
If ApplyType = acCloseFilterWindow then
DoCmd.RunCommand acCmdApplyFilterSort
end if
end sub
error message - error 2046
The command or action "Apply Filter/Sort" isn't available now.
In general, I have not been able to have command buttons on such forms, because the filter-by-form method disables the command buttons. (A slight work-around - set the visible property of the cmd button to false, activate the filter by form, then set visible to true - unfortunately, button events still do not work.)
The FormFilter opens correctly, but when the filter is closed, the Filter property is still null.
Here is some current code that I have...
Private Sub Form_Open(Cancel As Integer)
DoCmd.RunCommand acCmdFilterByForm
end sub
here is the code I am trying to implement, with error
Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer)
If ApplyType = acCloseFilterWindow then
DoCmd.RunCommand acCmdApplyFilterSort
end if
end sub
error message - error 2046
The command or action "Apply Filter/Sort" isn't available now.
In general, I have not been able to have command buttons on such forms, because the filter-by-form method disables the command buttons. (A slight work-around - set the visible property of the cmd button to false, activate the filter by form, then set visible to true - unfortunately, button events still do not work.)
The FormFilter opens correctly, but when the filter is closed, the Filter property is still null.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Fantastic! - even better!
It's great when both parties take something away : )
It's great when both parties take something away : )
ASKER
Add "frmFilterEngage" that contains the button(s) as a subform. (if you disable the dividing lines, and other formating characteristics, the buttons look like they are on the original form...)
frmFilterEngage button revised code:
RunCommand acCmdApplyFilterSort
Revised code for Form_Open:
me.frmFilterEngage.visible
DoCmd.RunCommand acCmdFilterByForm
me.frmFilterEngage.visible
You can actually add any buttons you want, and they won't be disabled in the filter mode. Apparently, the code behind acCmdFilterByForm doesn't disable objects that are not visible.
Thanks! This adds a bunch of functionality.