Seguramente como la variable SQL no esta definida al comienzo, la cadena sql ejecuta un comando de consulta que devuelve filas y convierte automaticamente SQL a variable de objeto tipo Recordset.
O sea es mas inteligente de lo que pensabamos, eh ? ;)
Habria que ver que pasa si no devuelve nada, la supuesta variable SQL de tipo RS te producira errores mas adelante del codigo, ademas al no definir el Recordset obvias posibles parametros necesarios como CursorType y CursorLocation.
Bye !