This is based on something I found in the MS Knowledge Base once upon a time--it opens each report in design view and lifts the property/value combinations (too bad they're not available otherwise). *Setting application.echo avoids the GUI mess of have each report open and shut.
This drops all properties into a table (the table isn't hard to figure out):
[tt]
Public Sub DocumentObjectProperties()
On Error GoTo Error_ShowReportSources
Dim db As DAO.Database
Dim AllReports As DAO.Container
Dim Doc As DAO.Document
Dim Prp As DAO.Property
Set db = CurrentDb()
Set AllReports = db.Containers("Reports"

Application.Echo False
'TRUNCATE TABLE
CurrentProject.Connection.Execute ("delete * from object_properties"
For Each Doc In AllReports.Documents
DoCmd.OpenReport Doc.NAME, acViewDesign
For Each Prp In Doc.Properties
InsertObjectProperty "Report", Doc.NAME, Prp.NAME, Prp.Value
DoCmd.Close acReport, Doc.NAME
Next
Next
Exit_ShowReportSources:
MsgBox "Done"
Set Doc = Nothing
Set Con = Nothing
Set db = Nothing
Application.Echo True
Exit Sub
Error_ShowReportSources:
MsgBox Err.Number & ": " & Err.Description
Resume Exit_ShowReportSources
End Sub
Private Sub InsertObjectProperty(v_object_type As String, _
v_object_name As String, v_property_name As String, v_property_value As String)
Dim strSQL As String
strSQL = "insert into object_properties (object_type,object_name ,property_name, " & _
"property_value) values (" & _
Chr(39) & v_object_type & Chr(39) & "," & _
Chr(39) & v_object_name & Chr(39) & "," & _
Chr(39) & v_property_name & Chr(39) & "," & _
Chr(34) & v_property_value & Chr(34) & "

;"
CurrentProject.Connection.Execute (strSQL)
End Sub
[/tt]
Turn your headache into my project!
Jeffrey R. Roberts
Insight Data Consulting
Access and SQL Server Development