Try using this:
Public Function ReportsList(strCriteria As String)
Dim db As DATABASE
Dim docLoop As Document
Dim prpLoop As Property
Dim strReports As String
Set db = CurrentDb
strReports = """"
With db.Containers!Reports
' Run through reports documents
For Each docLoop In .Documents
If docLoop.Name Like "*" & strCriteria & "*" Then
strReports = strReports & docLoop.Name & Chr(34) & ";" & Chr(34) & docLoop.Properties!DESCRIPTION & Chr(34) & ";" & Chr(34)
End If
Next docLoop
db.Close
End With
ReportsList = Left(strReports, Len(strReports) - 2)
End Function
It will return a comma delimited list of all reports in your database. You can then use it as the rowsource of a listbox. It returns two columns for each report, the report name and the report description. While you don't HAVE to have a report description, it helps if you add it for each report, as this will show it. To add a description, right-click the report, then click "properties". You will see a description field.
Tim Gill
Gill Consulting