Encontre todas as consultas que usam uma tabela específica
Acabamos de concluir uma conversão massiva de 39 bancos de dados para o SQL Server para um cliente no Tennessee, o que foi bastante desafiador, tivemos que não apenas aumentar todas as tabelas, mas mudar o sistema de importação/exportação entre bancos de dados para usar tabelas vinculadas. Às vezes precisávamos descobrir quais consultas estavam usando uma tabela, então usamos o seguinte código para encontrar rapidamente uma tabela em todas as consultas:
Public Function SearchQueries(strTableName As String)
Dim qdf As DAO.QueryDef
Dim strSQL As String
On Error GoTo ErrorHandler
Para cada qdf em CurrentDb.QueryDefs
Application.Echo True, qdf.Name
strSQL =qdf.SQL
If InStr(1, strSQL, strTableName)> 0 Then
Debug. Imprimir qdf.Name
End If
Próximo qdf
Set qdf =Nothing
MsgBox “Pesquisa Concluída”
Exit Function
ErrorHandler:
If Err.Number =3258 Then
strSQL =“”
Resume
End If
End Function
Digamos precisamos encontrar onde tblCustomers está sendo usado na coleção de consultas, pressionaríamos Ctrl-G para ir para a janela Immediate e digitar:
?SearchQueries("tblCustomers")
O sistema retornará todas as consultas quando usadas na mesma janela imediata:
qryCustomerList
qryOrdersByCustomer
qryOrderHistory
Espero que você ache este código útil! Deixe-me saber nos comentários, qualquer um que deixar um comentário será inscrito em um vale-presente de $ 25 da Amazon.com, corra, o concurso termina em 10/06/16!