Antwoorden
1. Het volstaat de ingevoerde tabelnaam te zoeken in de sql-eigenschap van de query's.
Daarbij kan je gebruik maken van de InStr-instructie immers
InStr("abcd","b") resulteert in 2 terwijl
InStr("abcd","f") gelijk is aan 0.
Function zoekquery()
Dim db As Database, q As QueryDef, x As Integer, tabelnaam As String
Set db = CurrentDb
tabelnaam = InputBox("welke tabel")
For x = 0 To db.QueryDefs.Count - 1
Set q = db.QueryDefs(x)
If InStr(q.SQL, tabelnaam) <> 0 Then
Debug.Print q.Name
End If
Next x
db.close
End Function
2. Om een query te wissen maakt men gebruik van volgende methode
DoCmd.Deleteobject acQuery,naam van de query
Met debug.print zorgen we ervoor dat de namen van de gewistre query's in het foutopsporingsvenster verschijnt.
Function wisquery()
Dim db As Database, q As QueryDef, x As Integer, tabelnaam As String
Set db = CurrentDb
For x = 0 To db.QueryDefs.Count - 1
Set q = db.QueryDefs(x)
DoCmd.DeleteObject acQuery, q.Name
Debug.Print q.Name & " werd gewist"
Next x
db.close
End Function