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
               (
geocities.com/es/ensolva/Descargas)                   (
geocities.com/es/ensolva)                   (
geocities.com/es)