|
|
|
| хочу с помощью него пройти по всем формам в базе и поменять какое нибудь свойство...
например, хочу в том же месте где буду ставить\снимать защиту от шифта, пройтись по всем формам и выставить параметр "контекстное меню" в да\нет - соответственно... | |
|
| |
|
|
|
| вообще возможно как нибудь обойти все формы? | |
|
| |
|
|
|
| легко :)))
ты вообще пробовал? | |
|
| |
|
|
|
| да пробовал не понял как обойти формы:(
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
|
| |
|
| |
|
|
|
| ОК, мне всё понятно | |
|
| |
|