ADO uses % for wildcard translation, not *. Therefore, if you use * as a wildcard, the query will actually be searching for rows that have a literal * in the column. Also, you should use _ instead of ?. Access natively supports % and _ (in addition to * and ?), so I recommend using those everywhere instead of being forced to worry about this every time you convert Access queries to ASP code.
Note that SQL Server doesn't support * as a wildcard at all, on any level. This is a common misconception for people migrating to SQL Server from Access. For more information on the differences you will likely encounter, see
Article #2214.