Nunca trabaje con Oracle, pero no creo que estes usando sentencias que entienda visual.
El to_date como lo estás usando, intestas que lo reconosca visual, pero no es una función que comprenda. Por ahi tienes alguna referencia que te deje usar esta función (la verdad no la conozca), pero la forma tradicional de formatear algo en visual es con format. Y las fechas en sentencias SQL debes darle un formato tipo Inglés Americano (MM-DD-YYYY). Con lo cual una solución podría ser:
Código:
fecha_hora = "UPDATE abcd " & _
"SET horafecha = '" & Format("20/12/2006", "MM/DD/YYYY") & "' " & _
"WHERE xxb = '" & Text7.Text & "' " & _
"AND xxc = '" & Text13.Text & "' " & _
"AND xxd = '" & Text14.Text & "' " & _
"AND xxe = '" & Text15.Text & "' " & _
"AND xxf = '" & Text16.Text & "';"
Lo único que no me queda claro es si Oracle necesita el
; final. Si no funciona la sentencia quítaselo. En ACCESS y sql no hace falta usarlo en código desde visual.