Access
 sql >> Datenbank >  >> RDS >> Access

Alle Abfragen finden, die eine bestimmte Tabelle verwenden

Alle Abfragen finden, die eine bestimmte Tabelle verwenden

Wir haben gerade eine massive 39-Datenbankkonvertierung zu SQL Server für einen Kunden in Tennessee abgeschlossen, was eine ziemliche Herausforderung war, wir mussten nicht nur alle Tabellen vergrößern, sondern das System vom Importieren/Exportieren zwischen Datenbanken auf die Verwendung verknüpfter Tabellen umstellen. Manchmal mussten wir herausfinden, welche Abfragen eine Tabelle verwendeten, also verwendeten wir den folgenden Code, um schnell eine Tabelle in allen Abfragen zu finden:
Public Function SearchQueries(strTableName As String)
Dim qdf As DAO.QueryDef
Dim strSQL As String
On Error GoTo ErrorHandler

Für jedes qdf In CurrentDb.QueryDefs
Application.Echo True, qdf.Name
strSQL =qdf.SQL
If InStr(1, strSQL, strTableName)> 0 Then
Debug. Print qdf.Name
End If
Next qdf

Setzen Sie qdf =Nothing
MsgBox „Search Completed“

Exit Function
ErrorHandler:
If Err.Number =3258 Then
strSQL =“”
Resume
End If
End Function
Sagen wir mal Wir müssen herausfinden, wo tblCustomers in der Abfragesammlung verwendet wird. Wir würden Strg-G drücken, um zum Direktfenster zu gehen, und Folgendes eingeben:
?SearchQueries("tblCustomers")
Das System gibt alle Abfragen, sofern verwendet, im gleichen unmittelbaren Fenster zurück:
qryCustomerList
qryOrdersByCustomer
qryOrderHistory

Ich hoffe, Sie finden diesen Code hilfreich! Lassen Sie es mich in den Kommentaren wissen. Jeder, der einen Kommentar hinterlässt, nimmt an einem Amazon.com-Geschenkgutschein im Wert von 25 $ teil. Beeilen Sie sich, der Wettbewerb endet am 10.06.16!