Ya se ha hablado acerca de este error...
Cuando se trabaja sobre una base de datos, el código suele funcionar, porque la base de datos acepta un parámetro de tipo string, que luego la BD, desguaza en los diferentes tipos de datos que pueda contener... del mismo modo access u otro mediador entre el código y la bd, puede aceptar determinado código como un sring, que luego interpreta.
Sin embargo cuando se acude a controles intrínsecos de VB u otros no debidamente diseñado para determinados propósitos, una cadena como "Update ...= now" interpreta que Now (que se pone como ejemplo) es una cadena de texto, no una función. Es decir VB puro, entiende por un tipo de datos string todo lo que está entre " y otro "... así de sencillo, no es culpa de VB si determinado control, acepta órdenes mediante cadenas que luega interpreta...
Un modo sencillo de entender esto, es compararlo con Command$, cualquier programa diseñado para ello acepta una línea de comandos, que la función command recoge y convierte en la propiedad de sólo lectura Command$, pero es el programa quien luego debe dividir dicha cadena para saber que debe hacer...
Esa misma línea de comando, enviada a otro programa o control, no sabrá que hacer con ella, ya que 'él' solo obtuiene una cadena de texto y no tiene más objeto que almacenarla en memoria para que pueda luego ser leída o cambiada. Esto es exactamente lo que te pasa a tí... tu has preparado un 'command' en un programa que lo inerpreta correctamente y luego pretendes que otro programa haga con dicha cadena lo mismo que hizo el otro, pero son diseños distintos con funcionalidad distinta. Access puede admitir código como un tipo de datos string que luego interpreta y entrega a la BD, una consulta que ha sido formateada, no así otros controles de VB.
La solución pasa por realizar adecuadamente la línea de código. Las partes literales entre comillas y las partes funcionales fuera de comillas, esto implica que si quizás debas preparar previamente la cadena de consulta que quieres enviar a la bd.
Aquí unos enlaces donde se habla del mismo problema y se explica como solucionarlo...
viewtopic.php?f=39&t=42737&start=0aquí en el mensaje 5 y 6 se trata de lo mismo:
viewtopic.php?f=143&t=43025&p=154746