Palabras clave:
consultas, sql, almacenar, extraer, obtenerAutor:
BúhoExtraído de:
La web del Búho
Pregunta La pregunta es como hago para obtener el codigo fuente de una consulta en Access. Existe alguna tabla interna que guarde ese codigo.


?
El objetivo el leer las consultas y generar un scrip para migrar a SQL, ya que estas consulta no las migra ni el DTS, ni el wizard de migracion.
El Búho nos proporciona este códigoOption Explicit
Function SacaSqlDeTodasConsultas()
'Recorre todas las consultas de la MDB y
'saco su valor SQL como string y lo deposito en una tabla
'llamada TblAlmacenaSql que tiene dos campos
'StrSql y StrNombre
'StrSql=la sql en string
'StrNombre = nombre de la consulta de la que procede
On Error GoTo Err_ControlError
Dim ColeccionQuerys As QueryDef, RstConsultas As Recordset, SqlTabla As String
SqlTabla = "Select * From TblAlmacenaSql"
Set RstConsultas = CurrentDb.OpenRecordset(SqlTabla, dbOpenDynaset)
For Each ColeccionQuerys In CurrentDb.QueryDefs
With RstConsultas
.AddNew
!Strsql = ColeccionQuerys.SQL
!StrNombre = ColeccionQuerys.Name
.Update
End With
Next
RstConsultas.Close
Set RstConsultas = Nothing
Exit Function
Exit_ControlError:
Exit Function
Err_ControlError:
MsgBox Err.Description
Resume Exit_ControlError
End Function