Dim obj As AccessObject, dbs As Object
Set dbs = Application.CurrentProject
' Search for open AccessObject objects in AllForms collection.
For Each obj In dbs.AllForms
If obj.IsLoaded = True Then
' Print name of obj.
Debug.Print obj.Name
End If
Next obj
Изменение свойств форм в Access
Очевидно, нужно использовать контейнер, чтобы обратиться ко всем формам (а не только к открытым) в БД.
Мой код:
-------------
Dim ctr As Container
Dim fm As Form
Dim doc As Document
Set ctr = Currentdb.Containers!Forms
For Each doc In ctr.Documents
'fm.BorderStyle = 1
st = st + doc.NAME + " "
Next
MsgBox (st)
--------------
В общем он нормально выводит имена всех форм в БД (а не только открытых). Но вот проблема в том, что необходимо обращаться к Forms.BorderStyle, а Container содержит Documents, которые это свойство не содержат.
Помогите дописать код! Спасибо.
Сейчас SergeySV зайдет, и подскажет, как это точно делается.
Прикол в том, что через Application.Forms видны только загруженные формы, а если надо (загруж и незагружен), то для это надо использовать Application.CurrentProject.AllForms :)
Пример из справки (ищи на слово AllForms).
Код: