Find alle forespørgsler, der bruger en bestemt tabel
Vi har netop afsluttet en massiv 39 databasekonvertering til SQL Server for en klient i Tennessee, hvilket var ret udfordrende, vi skulle ikke kun opgradere alle tabellerne, men skifte systemet fra at importere/eksportere mellem databaser til at bruge sammenkædede tabeller i stedet. Til tider havde vi brug for at finde ud af, hvilke forespørgsler der brugte en tabel, så vi brugte følgende kode til hurtigt at finde en tabel i alle forespørgslerne:
Public Function SearchQueries(strTableName As String)
Dim qdf As DAO.QueryDef
Dim strSQL As String
On Error GoTo ErrorHandler
For hver qdf i CurrentDb.QueryDefs
Application.Echo True, qdf.Name
strSQL =qdf.SQL
Hvis InStr(1, strSQL, strTableName)> 0 Så
Debug. Udskriv qdf.Name
End If
Next qdf
Indstil qdf =Intet
MsgBox “Søgning fuldført”
Afslut funktion
ErrorHandler:
Hvis Err.Number =3258 Så
strSQL =“”
Genoptag
End If
End Function
Lad os sige vi skal finde ud af, hvor tblCustomers bliver brugt i forespørgselssamlingen, vi ville trykke Ctrl-G for at gå til vinduet Umiddelbart og skrive:
?SearchQueries("tblCustomers")
Systemet vil returnere alle forespørgsler, hvor de blev brugt i det samme øjeblikkelige vindue:
qryCustomerList
qryOrdersByCustomer
qryOrderHistory
Jeg håber, du finder denne kode nyttig! Fortæl mig det i kommentarerne, enhver, der lægger en kommentar, vil blive optaget i et $25 Amazon.com gavekort, skynd dig, konkurrencen slutter 6/10/16!