Hay dos cosas muy críticas en este código:
Si la fecha es del tipo varchar, no hay problema que la compares de la manera que la haces, pero "like" es para encontrar subcadenas dentro de un campo de texto (varchar, char, ...)
Otra cosa muy muy muuuuuuy importantes es el tipo de motor que usas que es SQL SERVER, para este motor en particular debes aplicar esto que sigue:
Si es un campo del tipo fecha debes hacer una conversión del texto que entra "...= convert(datetime, '" & fecha & "', 103)...". Ni siquiera uses like.
Por último, que no es crítico, pero es duplicación de códigos es la conexión, si la usas en el ActiveConnection no es necesario que la uses al abrir el recordset.
set rs.ActiveConnection = conn
rs.open sql 'Nada más