Tengo una consulta, guardada con un nombre, por ejemplo "Clientes Buenos" Lo + normal del mundo. ¿Es posible sacarle su codigo SQL? es para abrir un recordset con sus datos, quizá hay otra forma menos rebuscada. RESPONDE BUHO ============= Function SacaSqlConsulta() Dim NombreConsulta As String NombreConsulta = "consulta2" Dim dbsSRC As DAO.Database Set dbsSRC = CurrentDb Dim ColeccionQuerys As QueryDef On Error GoTo ControlERROR For Each ColeccionQuerys In dbsSRC.QueryDefs If ColeccionQuerys.Name = NombreConsulta Then MsgBox ColeccionQuerys.Sql End If Next On Error GoTo 0 Exit Function ControlERROR: Resume Next End Function Esta funcion puedes generalizarla, pasandola como parametro el nombre de la consulta, mas o menos algo asi: Function SacaSqlConsulta(NombreConsulta As String) as String Dim dbsSRC As DAO.Database Set dbsSRC = CurrentDb Dim ColeccionQuerys As QueryDef On Error GoTo ControlERROR For Each ColeccionQuerys In dbsSRC.QueryDefs If ColeccionQuerys.Name = NombreConsulta Then SacaSqlConsulta=ColeccionQuerys.Sql exit For End If Next On Error GoTo 0 Exit Function ControlERROR: Resume Next End Function 'Mas sencilla RESPUESTA DE NorX =============================== Public Function LoQueSea(NombreDeConsulta As String) As String Dim db As Database, con As QueryDef Set db = CurrentDb On Error GoTo aquí_mismo_sin_ir_más_lejos 'Así si el nombre de consulta no existe devuelve "" Set con = db.QueryDefs(NombreDeConsulta) LoQueSea = con.SQL aquí_mismo_sin_ir_más_lejos: End Function