Public Sub ParseQueries()
On Error GoTo Err_ParseQueries
' 0 is select
' 16 is crosstab
' 48 is update
' 64 is append
' 80 is ddl (create table)
' 96 is ddl (drop table)
'128 is union
Dim dbs As Database
Dim qdf As QueryDef
Dim rst As Recordset
Set dbs = CurrentDb
For Each qdf In dbs.QueryDefs
If Left$(qdf.Name, 1) = "~" Then
Else
With qdf
' Debug.Print .Name & "; " & .Type
Select Case .Type
Case 0, 16, 128 ' Select, Crosstab, Union
Set rst = .OpenRecordset(dbOpenDynaset, dbSeeChanges)
Set rst = Nothing
Case 32, 48, 64 ' dml (data manipulation)
' Debug.Print "Skip : " & qdf.Name
Case 80, 96 ' ddl (data definition)
' Debug.Print "Skip : " & qdf.Name
Case Else
Stop
End Select
End With
End If
Next qdf
Exit_ParseQueries:
MsgBox "Done"
On Error GoTo 0
Exit Sub
Err_ParseQueries:
Debug.Print "Error: " & qdf.Name & " code: " & Err & " Description: " & Err.Description
Resume Next
Resume 'For debugging purposes
End Sub