Public Function QueryInfo() As Boolean
On Error GoTo Err_QueryInfo
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim tdf As DAO.TableDef
Dim qdf As DAO.QueryDef
Dim fld As DAO.Field
Set db = CurrentDb
Set tdf = db.CreateTableDef("tblTablesInQueries")
With tdf
.Fields.Append .CreateField("QueryName", dbText, 255)
.Fields.Append .CreateField("ComponentName", dbText, 255)
End With
db.TableDefs.Append tdf
Set rs = db.OpenRecordset(tdf.Name)
For Each qdf In db.QueryDefs
For Each fld In qdf.Fields
If Not Left(qdf.Name, 1) = "~" Then
If DCount("ComponentName", "tblTablesInQueries", _
"QueryName = """ & qdf.Name & """ AND ComponentName = """ & fld.SourceTable & """") = 0 Then
With rs
.AddNew
.Fields("QueryName") = qdf.Name
If Not fld.SourceTable = vbNullString Then .Fields("ComponentName") = fld.SourceTable
.Update
End With
End If
End If
Next
Next
rs.Close
db.Close
Exit_QueryInfo:
Set fld = Nothing
Set qdf = Nothing
Set tdf = Nothing
Set rs = Nothing
Set db = Nothing
Exit Function
Err_QueryInfo:
MsgBox Err.Description, vbExclamation, "Error #" & Err.Number
Resume Exit_QueryInfo
End Function