Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 18.11.2010
Сообщений: 23
1

Перебор всех открытых форм с помощью Forms

29.10.2011, 20:20. Показов 1639. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ну, не хотят формы закрываться с помощью перебора всех открытых форм:

For Each frm In Forms
DoCms.Close acForm, frm.Name
Next frm

почему-то не закрываются все формы: и закономерности никакой не могу выявить - то одни не хотят закрываться, то другие на экране остаются болтаться... Может тут какой-нибудь секрет есть?! Просто мне нужно, чтобы по выбору кнопки в одной из форм - все открытые формы позакрывались. Что делать?...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.10.2011, 20:20
Ответы с готовыми решениями:

Обновление всех открытых форм
Добрый вечер! Подскажите пожалуйста, какой код надо написать на кнопку, чтобы при нажатии...

Обновление всех открытых отчетов
Подскажите пожалуйста как заставить обновиться все открытые отчеты, макросом или VBA.

Перебор открытых дочерних форм
У меня много дочерних форм создается динамически, поэтому доступ к ним не так-то просто получить....

Как получить список всех открытых форм?
subj

2
0 / 0 / 0
Регистрация: 08.02.2010
Сообщений: 345
30.10.2011, 09:14 2
А как отбирается frm?
0
8 / 8 / 0
Регистрация: 07.06.2010
Сообщений: 322
30.10.2011, 13:03 3
Не смотря на советы HELP, цикл For Eeach...Next работает плохо, если объекты набора по ходу выполнения уничтожаются - в разных местах набора при этом появляются дыры. В тестовом примере из трех открытых форм при первом проходе одна стабильно не закрывается.

Выход такой: запомнить открытые формы в отдельной коллекции
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub CloseAllForms()
Dim cFORM As New Collection
Dim frm As Form
Dim itm As Variant
 
For Each frm In Forms
  cFORM.Add (frm.Name)
Next frm
 
For Each itm In cFORM
DoCmd.Close acForm, itm
Next itm
 
End Sub
0
30.10.2011, 13:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.10.2011, 13:03
Помогаю со студенческими работами здесь

Объясните перебор всех значений от 0 до n с помощью битовых операций
for (int i = (1 << n) - 1; i >= 0; i--) { for (int j = 0; j < n; j++) { if (i & (1 <<...

Перебор открытых книг
Просьба помочь с задачкой. Имеется несколько открытых, но не сохраненных книг Excel (открыты они в...

Перебор открытых окон приложения
Помогите с вопросом. При нажатии на кнопку вывожу форму авторизации, необходимо при этом закрыть...

Диспетчер открытых форм
Как сделать диспетчер открытых форм, в котором можно было бы закрывать эти формы? Заранее благодарю


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru