Access de Xavi
Objetos => Consultas => Mensaje iniciado por: xavi en Abril 13, 2012, 11:59:26 pm
-
Palabras clave: consultas, sql, almacenar, extraer, obtener
Autor: Búho
Extraí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ódigo
Option 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