I'm using a Where clause instead of a filter, but my code to launch the report looks like this:
DoCmd.OpenReport stDocName, acPreview, , stWhere
stWhere is Dimmed as a string and the value of stWhere is set by code as you have set the value of the filter in your code.
I know this is long...