sql >> Databáze >  >> RDS >> Access

Najděte všechny dotazy, které používají konkrétní tabulku

Najděte všechny dotazy, které používají konkrétní tabulku

Právě jsme dokončili masivní konverzi databáze 39 na SQL Server pro klienta v Tennessee, což bylo docela náročné, museli jsme nejen převést všechny tabulky, ale přepnout systém z importu/exportu mezi databázemi na používání propojených tabulek. Občas jsme potřebovali zjistit, které dotazy používají tabulku, takže jsme použili následující kód, abychom rychle našli tabulku ve všech dotazech:
Public Function SearchQueries(strTableName As String)
Dim qdf As DAO.QueryDef
Dim strSQL As String
On Error GoTo ErrorHandler

Pro každý qdf v CurrentDb.QueryDefs
Application.Echo True, qdf.Name
strSQL =qdf.SQL
If InStr(1, strSQL, strTableName)> 0 Potom
Debug. Tisk qdf.Name
End If
Next qdf

Nastavit qdf =Nothing
MsgBox „Search Completed“

Exit Function
ErrorHandler:
If Err.Number =3258 Then
strSQL =“”
Resume
End If
End Function
Řekněme potřebujeme najít, kde se v kolekci dotazů používá tblCustomers, stisknutím Ctrl-G přejdeme do okna Immediate a zadáme:
?SearchQueries("tblCustomers")
Systém vrátí všechny dotazy, které byly použity ve stejném okamžitém okně:
qryCustomerList
qryOrdersByCustomer
qryOrderHistory

Doufám, že vám tento kód bude užitečný! Dejte mi vědět do komentářů, každý, kdo zanechá komentář, bude zařazen do dárkového certifikátu Amazon.com v hodnotě 25 $, pospěšte si, soutěž končí 10. 6. 2016!


  1. SQLITE nemůže upgradovat databázi pouze pro čtení z verze 1 na 2

  2. Jak Cot() funguje v PostgreSQL

  3. Jak odstranit uživatele databáze MySQL v cPanel

  4. Jak provedu IF...THEN v SQL SELECT?