| |
|
|
| | хочу с помощью него пройти по всем формам в базе и поменять какое нибудь свойство...
например, хочу в том же месте где буду ставить\снимать защиту от шифта, пройтись по всем формам и выставить параметр "контекстное меню" в да\нет - соответственно... | |
| |
| |
| |
|
|
| | вообще возможно как нибудь обойти все формы? | |
| |
| |
| |
|
|
| | легко :)))
ты вообще пробовал? | |
| |
| |
| |
|
|
| | да пробовал не понял как обойти формы:(
Propeties получилось обойти, а формы не получается чтото... | |
| |
| |
| |
|
|
| | Для открытых форм:
Dim frm As Form
For Each frm In Forms
Debug.Print frm.Name
Next
|
Для всех форм приложения:
Dim i As Integer
For i = 0 To CurrentProject.AllForms.Count - 1
Debug.Print CurrentProject.AllForms(i).Name
Next
|
| |
| |
| |
|
|
| |
|
|
| | что то не получается пройтись по свойствам форм:(
пробую на открытие стартовой формы поставить такой код
Private Sub Form_Open(Cancel As Integer)
Dim frm As AccessObject
For Each frm In Application.CurrentProject.AllForms
Forms.Item(frm.Name).ShortcutMenu = False
Next frm
End Sub
говорит что не могу найти форму... почему кто подскажет?
заранее спасибо! | |
| |
| |
| |
|
|
| | Потому, что форма, которую он не может найти - закрыта. | |
| |
| |
| |
|
|
| | то есть никак не получится пройтись по всем формам и програмнно поменять одно свойство у всех? | |
| |
| |
| |
|
|
| | или надо открыть как то чтобы пользователь форму не увидел поменять свойство и закрыть ее? | |
| |
| |
| |
|
|
| | Свойства формы можно устанавливать только тогда, когда она открыта (в любом режиме).
Специально открывать и закрывать форму для настроек под управлением пользователя мягко говоря неправильно. Настраивать свойства формы под конкретного пользователя или конкретную задачу следует в процедуре открытия формы (либо в процедуре создания экземпляра класса формы). | |
| |
| |
| |
|
|
| | Получается не получиться пробежаться по всем формам (закрытым) вот так
Dim i As Integer
For i = 0 To CurrentProject.AllForms.Count - 1
CurrentProject.AllForms(i).ShortcutMenu = False
Next
| и поменять св-во ShortcutMenu ? | |
| |
| |
| |
|
|
| | Не надо запрещать пользователям пользовать контекстные меню. Это мощный и удобный элемент управления. Их либо надо создавать заранее и назначать формам в режиме конструктора, либо создавать динамически при загрузке формы. | |
| |
| |
| |
|
|
| | А если очень хочется:
Public Sub QQQQ()
Dim i As Integer
Dim strFormName As String
For i = 0 To CurrentProject.AllForms.Count - 1
strFormName = CurrentProject.AllForms(i).Name
DoCmd.OpenForm strFormName, acDesign
Forms(strFormName).ShortcutMenu = False
DoCmd.Close acForm, strFormName, acSaveYes
Next i
End Sub
|
| |
| |
| |
| |
|
|
| | ОК, мне всё понятно  | |
| |
| |
|
|