Я знаю, что это немного старо, но это выглядело как интересный вызов. Если вы вставите это в модуль и запустите его, он создаст текстовый файл с RecordSource для каждой формы и RowSource для каждого ComboBox или ListBox с RowSourceType «Table / Query». Если я правильно помню, это должно дать вам все свойства, где можно использовать запрос. Если я не помню правильно, вы можете настроить код, чтобы получить другие или изменить формат вывода.
Если вы хотите сбросить все свойства всех форм, вы можете сделать цикл для каждого цикла в коллекции свойств формы и записать его в файл. Проблема заключается в том, что формы имеют определенные свойства, такие как PrtMip и PrtDevName, которые являются структурами и поэтому нарушают методы write или writeline, поэтому, если вы собираетесь попытаться записать их в файл, сначала вам нужно будет выполнить специальную обработку , Кроме того, я считаю, что свойство закладки также может быть проблематичным.
Sub ListProperties()
Dim frm As Object
Dim ctl As Control
Dim fs As Object
Dim file As Object
Set fs = CreateObject("Scripting.FileSystemObject")
Set file = fs.CreateTextFile("C:\FormProps.txt", True)
For Each frm In CurrentProject.AllForms
DoCmd.OpenForm frm.Name, acNormal, , , , acHidden
Next frm
For Each frm In Forms
file.writeline (frm.Name)
file.writeline (String(Len(frm.Name), "-"))
file.writeline "RecordSource" & Chr(9) & frm.Properties("RecordSource")
For Each ctl In frm.Controls
With ctl
Select Case .ControlType
Case acComboBox, acListBox
.SetFocus
If .RowSourceType Like "Table/Query" Then
file.writeline Chr(9) & .Name & Chr(9) & "RowSource" & Chr(9) & .RowSource
End If
End Select
End With
Next ctl
file.writeline
Next frm
For Each frm In Forms
DoCmd.Close acForm, frm.Name
Next frm
End Sub