powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подвисание при OpenForm
8 сообщений из 8, страница 1 из 1
Подвисание при OpenForm
    #39621102
MokeevP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, уважаемые форумчане!
Помогите, пожалуйста, решить проблему. При выполнении такого простэнького кода:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Private Sub btnObj_Click()
'On Error GoTo 1:
Dim x As Integer
x = 0
If IsNull(Me.frmWrkSpc_in1.Controls![ObjctID].Value) _
    Then
        DoCmd.OpenForm "frmObj", , , , , acDialog, "n" & CStr(x)
        Exit Sub
    Else
        x = Me.frmWrkSpc_in1.Controls![ObjctID].Value
        DoCmd.OpenForm "frmObj", , , , , acDialog, "e" & CStr(x)       '<<<<<<<<<<<<<<<
        Exit Sub
    End If
1:
MsgBox "Что-то пошло не так"
End Sub


происходит зависание на строчке
Код: vbnet
1.
DoCmd.OpenForm "frmObj", , , , , acDialog, "e" & CStr(x)



On error, конечно, спасает, но причину хотелось бы узнать


____
vk.com/taenfox
...
Рейтинг: 0 / 0
Подвисание при OpenForm
    #39621117
MokeevP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
на самом деле нет
On error, конечно, спасает

при этом отрабатывается событие load открываемой формы, но кнопки не работают
...
Рейтинг: 0 / 0
Подвисание при OpenForm
    #39621122
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MokeevPпроисходит зависание на строчке когда открывается форма как acDialog выполнение всего остального кода естественно будет остановлен.
...
Рейтинг: 0 / 0
Подвисание при OpenForm
    #39621134
MokeevP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПанургMokeevPпроисходит зависание на строчке когда открывается форма как acDialog выполнение всего остального кода естественно будет остановлен.
ну так это
у меня несколько форм, которые открываются одна из другой, но там код примитивнее:
Код: vbnet
1.
2.
3.
Private Sub btnWrckspace_click()                            
    DoCmd.OpenForm "frmWorkspace", acNormal, , , , acDialog
End Sub



И вот в таком случае код кончает после открытия формы. acNormal не влияет же? Или дело в End sub сразу после этой команды?

Или я дурак который так и не прочитал нужную информацию из той самой книги, но на то есть причины...
...
Рейтинг: 0 / 0
Подвисание при OpenForm
    #39621143
MokeevP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MokeevPИли дело в End sub сразу после этой команды
Эмпирическим путём выяснил что в этом есть смысл. Хотя работает как положено (как я задумал), всё равно остаётся чувство что где-то обманулся, потому что по сути привёл код к исходному виду (как в первом сообщении) и попробовал раскомментировать и закомментировать обратно обработчик ошибок. Добавил только Exit sub после End if
...
Рейтинг: 0 / 0
Подвисание при OpenForm
    #39621483
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MokeevP,
диалог из диалога-работают только кнопки первого диалога.
если код второй формы в модуле первой - код отработает, если в модуле второго диалога-не отработает. кнопки второй формы тоже должны быть созданы в первой форме- будут работать. Случаи такие были, делал но не рекомендую.
...
Рейтинг: 0 / 0
Подвисание при OpenForm
    #39623201
MokeevP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
aleckoMokeevP,
диалог из диалога-работают только кнопки первого диалога.
если код второй формы в модуле первой - код отработает, если в модуле второго диалога-не отработает. кнопки второй формы тоже должны быть созданы в первой форме- будут работать. Случаи такие были, делал но не рекомендую.

Вот то что у меня уродилось как раз:
-открывается форма-меню(1) диалогом
-из неё открывается форма с рабочим процессом(2) диалогом
-из неё открывается форма с подробностями для редактирования(3) т.е. кнопкой, на которой запускается отдельный модуль

По непонятному мне стечению обстоятельств у меня эта конструкция перестала работать, хотя раньше вопросов не было и сейчас она продолжает работать, после незначительного изменения кода. "Таки що это было?" - вопрошаю я VBA, но ответа нет, и Ваш ответ мне не понятен, ибно сейчас то работает же
...
Рейтинг: 0 / 0
Подвисание при OpenForm
    #39623566
alecko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
форма имеет 3(три) способа открытия: нормальный, всплывающий, диалог.
Если мы говорим про форму открытия acDialog то когда мы открываем первую форму в форме acDialog, то остальной код vba останавливает свою работу и ждет когда эта форма закроется. однако, если в этой первой форме объявить и открыть вторую форму (через модуль класса, либо напрямую), третью, то их код будет работать.
если же Вы открываете форму диалога не в форме диалога а, например как всплывающую, тогда очевидно код в других формах работать будет.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подвисание при OpenForm
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]