Use % as the wildcard character instead of *. % is the defacto wildcard. The oledb driver will translate it into the wildcard character that the target database expects.
edit: i have reread the question. You shouldn't use % but you should use ? instead. ? is the wildcard that you should use for exactly one character.
this means your query should look like this
select * from table where foo like '567???'
Also, try to use parameters instead of string concatenation in your query.