In this case the Evaluate() function should look if there is a value to match from the combobox1. If combobox1 is blank it should totally skip the logical_test. So if both evaluations are blank you just get the datasource.
To stay ahead off a discussion. Yes I know the Search function, but as far I know this function is build to evaluate the local dataset (so max 2000 records). This means first the dataset is collected from the source with the Filter function and then the search function is activated. Besides delegational issues, adding this functionality to the filter() function will increase speed and decrease bandwidth, simple because filtering is delegated to the datasource server and the returned dataset is already narrowed down to the nescessary records. But I don't know this for sure, but are just thinking off my head here