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

terug

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

terug