Si chiarissimo.
La cosa è estremamente semplice...
Prova a mettere questo codice in un Modulo e richiama la Funzione [PrintProperties()]
dalla Finestra immediata che si attiva con CTRL+G, quindi scrivi:
?PrintProperties()
quando dai invio, parte il ciclo tra le maschere, prenderà tempo, ma dovrebbe andare...
Function PrintProperties()
On Error Resume Next
Dim obj As AccessObject
Dim dbs As Object
Dim frm As Access.Form
Dim ctl As Access.Control
Dim intCount As Integer
Dim intFile As Integer
Set dbs = Application.CurrentProject
intFile = FreeFile
For Each obj In dbs.AllForms
If obj.IsLoaded = True Then DoCmd.Close acForm, obj.Name, acSaveNo
DoCmd.OpenForm obj.Name, acDesign, , , , acHidden
Set frm = Access.Forms(obj.Name)
For Each ctl In frm.Controls
Debug.Print ctl.Name
For intCount = 0 To ctl.Properties.Count
Debug.Print "Maschera(" & obj.Name & ")--> Controllo(" & ctl.Name & ") --> Proprietà(" & ctl.Properties(intCount).Name; ") = " & ctl.Properties(intCount).Value
' Quì invece del DEBUG vai a scrivere in un FILE con 1 riga di codice...
Open "C:\FormsControlsProperties.txt" For Append Shared As #intFile
Print #intFile, "Maschera(" & obj.Name & ")--> Controllo(" & ctl.Name & ") --> Proprietà(" & ctl.Properties(intCount).Name; ") = " & ctl.Properties(intCount).Value
Close #intFile
DoEvents
Next intCount
' Salta una RIGA ogni Maschera
Open "C:\FormsControlsProperties.txt" For Append Shared As #intFile
Print #intFile, "-----"
Close #intFile
Next ctl
DoCmd.Close acForm, obj.Name, acSaveNo
Next obj
Set dbs = Nothing
Set frm = Nothing
End Function
Provato prima di postarlo e Funziona.