sql >> Base de Datos >  >> RDS >> Access

Buscar todas las consultas que usan una tabla en particular

Buscar todas las consultas que usan una tabla en particular

Acabamos de completar una conversión masiva de 39 bases de datos a SQL Server para un cliente en Tennessee que fue bastante desafiante, no solo tuvimos que aumentar el tamaño de todas las tablas, sino también cambiar el sistema de importar/exportar entre bases de datos a usar tablas vinculadas. A veces necesitábamos encontrar qué consultas usaban una tabla, así que usamos el siguiente código para encontrar rápidamente una tabla en todas las consultas:
Public Function SearchQueries(strTableName As String)
Dim qdf As DAO.QueryDef
Dim strSQL As String
On Error GoTo ErrorHandler

Para cada qdf en CurrentDb.QueryDefs
Application.Echo True, qdf.Name
strSQL =qdf.SQL
If InStr(1, strSQL, strTableName)> 0 Then
Debug. Imprimir qdf.Nombre
Terminar si
Siguiente qdf

Establecer qdf =Nada
MsgBox "Búsqueda completada"

Salir de la función
ErrorHandler:
Si Err.Number =3258 Entonces
strSQL =“”
Reanudar
Finalizar si
Finalizar la función
Digamos necesitamos encontrar dónde se usa tblCustomers en la colección de consultas, presionaríamos Ctrl-G para ir a la ventana Inmediato y escribir:
?SearchQueries("tblCustomers")
El sistema devolverá todas las consultas utilizadas en la misma ventana inmediata:
qryCustomerList
qryOrdersByCustomer
qryOrderHistory

¡Espero que encuentre útil este código! Déjame saber en los comentarios, cualquier persona que deje un comentario participará en un certificado de regalo de Amazon.com de $ 25, ¡date prisa, el concurso termina el 10/06/16!