En vez de llamar a la cadena Sql, ponle una c (por ejemplo) delante, SQL es una palabra reservada, debes tener dimensionadas la variable Rst y la cSQL, además después de CurrentDb, pon el paréntesis Abri y cerrar.
Dim Rst as Recordset
Dim cSql as string
Set Rst = CurrentDb().OpenRecordset(cSql, dbOpenDynaset)
De momento no veo nada más
Un saludo