powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Закрытие формы на Activate
25 сообщений из 48, страница 1 из 2
Закрытие формы на Activate
    #32240051
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выдаёт ошибку:
Run-time error '2585':

This action can't be carried out while processing a form or report event


как бы мне закрыть её, просто на Activate проверяються некоторые условия и в определённом случае надо прикрыть формочку...
...
Рейтинг: 0 / 0
Закрытие формы на Activate
    #32240060
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
При выходе из Activate включаем таймер, в таймере закрываем форму.
...
Рейтинг: 0 / 0
Закрытие формы на Activate
    #32240063
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извени никогда с таймером не работал, не покажешь?
...
Рейтинг: 0 / 0
Закрытие формы на Activate
    #32240079
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub Form_Activate()
...
If ... Then Me.TimerInterval =  1000 
End Sub

Private Sub Form_Timer()
DoCmd.Close acForm, Me.Name
End Sub

' :^)
...
Рейтинг: 0 / 0
Закрытие формы на Activate
    #32240093
Sfagnum
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пасибки
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Закрытие формы на Activate
    #32691434
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, в каком событии, кроме таймера, форма может закрывать саму себя? Что-то у меня получается, что ни в каких готфокусах и афтерапдейтах нельзя и идет та же ошибка 2585. Неужели путь с таймером - единственный, чтобы разорвать эти дурацкие транзакции?
...
Рейтинг: 0 / 0
Закрытие формы на Activate
    #32691489
Фотография АлексейК
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
Private Sub Form_Open(Cancel As Integer)
Cancel = True
End Sub
...
Рейтинг: 0 / 0
Закрытие формы на Activate
    #32691493
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛифчикКстати, в каком событии, кроме таймера, форма может закрывать саму себя? Что-то у меня получается, что ни в каких готфокусах и афтерапдейтах нельзя и идет та же ошибка 2585. Неужели путь с таймером - единственный, чтобы разорвать эти дурацкие транзакции?

KeySend
...
Рейтинг: 0 / 0
Закрытие формы на Activate
    #32691513
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АлексейК
Код: plaintext
1.
2.
Private Sub Form_Open(Cancel As Integer)
Cancel = True
End Sub
Спасибо, Алексей! Получил заряд бодрости до конца раб.дня:)

PS Понятно, альтернативы нет
...
Рейтинг: 0 / 0
Закрытие формы на Activate
    #32691523
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Лифчик
Почему это на афтерапдейтах нельзя закрывать?
Код: plaintext
1.
2.
Private Sub Form_AfterUpdate()
    DoCmd.Close acForm, Me.Name
End Sub
и усе работает.
...
Рейтинг: 0 / 0
Закрытие формы на Activate
    #32691675
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лох Позорный2 Лифчик
Почему это на афтерапдейтах нельзя закрывать?

Код: plaintext
1.
2.
Private Sub Form_AfterUpdate()
    DoCmd.Close acForm, Me.Name
End Sub
и усе работает.
Вот такой комплект событий не работает с ошибкой 2585
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Private Sub Form_AfterUpdate()
DoCmd.Close acForm, FormName, acSaveYes
End Sub

Private Sub HyperLinkControl_AfterUpdate()
...
Me.Refresh
End Sub

Private Sub HyperLinkControl_GotFocus()
DoCmd.RunCommand acCmdEditHyperlink
End Sub
...
Рейтинг: 0 / 0
Закрытие формы на Activate
    #32691700
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем тебе Me.Refresh на афтерапдейте контрола?
Может это такой модный способ запись сохранить?
Замени эту строчку на Me.Dirty = False и радуйся жизни :)
...
Рейтинг: 0 / 0
Закрытие формы на Activate
    #32691783
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лох ПозорныйА зачем тебе Me.Refresh на афтерапдейте контрола?
Может это такой модный способ запись сохранить?
Замени эту строчку на Me.Dirty = False и радуйся жизни :)Это такой новомодный способ инициировать событие формы автерапдейт, в котором магическое действие закрытия осуществляется. Но я заменил на твое грязное дёти - и радуюсь жизни с тем же самым кодом 2585 :(

ЗЫ Могу закрыть только таймером, блин
...
Рейтинг: 0 / 0
Закрытие формы на Activate
    #32691811
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это такой новомодный способ инициировать событие формы автерапдейт
Это весьма странный способ инициировать событие формы афтерапдейт. Через жопу автогеном.
Событие само инициируется - когда запись сохранится. Вот и сохраняй запись. Хоть через DoCmd.RunCommand acCmdSaveRecord, хоть через Dirty. Делать Refresh и перепрочитывать все данные - не нужно, хоть оно и запись сохранит тоже.

Но я заменил на твое грязное дёти - и радуюсь жизни с тем же самым кодом 2585 :(
у меня работает. аксес 97 и XP
чего-то ты не договариваешь.
...
Рейтинг: 0 / 0
Закрытие формы на Activate
    #32691832
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лифчик
Вот такой комплект событий не работает с ошибкой 2585
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
Private Sub Form_AfterUpdate()
DoCmd.Close acForm, FormName, acSaveYes
End Sub

Private Sub HyperLinkControl_AfterUpdate()
...
Me.Refresh
End Sub

Private Sub HyperLinkControl_GotFocus()
DoCmd.RunCommand acCmdEditHyperlink
End Sub


Код, который ты привел - страноватенький, конечно.
То, о чем говорил ЛП - работает:

Private Sub HyperLinkControl_AfterUpdate()
DoCmd.Close acForm, FormName, acSaveNo
End Sub

Видимо, ты пытаешьсяя сказать о ситуации, при которой код, размещенный
в afterUpdate контрола формы приводит к возникновению событий на другом контроле...
...
Рейтинг: 0 / 0
Закрытие формы на Activate
    #32691834
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, после вызова DoCmd.RunCommand acCmdEditHyperlink - и у меня перестало работать :)
...
Рейтинг: 0 / 0
Закрытие формы на Activate
    #32691865
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лох Позорный Это такой новомодный способ инициировать событие формы автерапдейт
Делать Refresh и перепрочитывать все данные - не нужно, хоть оно и запись сохранит тоже.
Но я заменил на твое грязное дёти - и радуюсь жизни с тем же самым кодом 2585 :(
у меня работает. аксес 97 и XP
чего-то ты не договариваешь.СанСаныч(?), принимаю все обвинения. Есть только одна отмаза - форма с одним контролом, контрол источник берет из таблы, состоящей из одной строки. И вообще, все что здесь делается - делается через ж.пу, потому что комбо не наследует нужных свойств.

ЗЫ Я все сказал и чист перед тобой. Тока может вот эта строка подло клинит - DoCmd.RunCommand acCmdEditHyperlink? Я этот диалог САМ не закрываю, только ОК ему нажимаю. Он запоминает то что надо где надо, но может не закрывается сразу и клинит транзакцию апдейта моего поля и формы?
...
Рейтинг: 0 / 0
Закрытие формы на Activate
    #32691882
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
за что я и не люблю объект DoCmd
уж слишком он асинхронный :(
...
Рейтинг: 0 / 0
Закрытие формы на Activate
    #32691911
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, точно. Помнишь, в прошлом году я тебе базу высылал? Там на форме в событии OnDelete пытался путем DoCmd просто запустить другую форму, и эта пакость ставила на запись какую-то лишнюю блокировку. Может это как-то для Фака сформулировать, типа "Поменьше используйте DoCmd в событиях апдейта и делита, и вообще поменьше ее используйте ":)
...
Рейтинг: 0 / 0
Закрытие формы на Activate
    #32692039
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лох Позорныйза что я и не люблю объект DoCmd
уж слишком он асинхронный :(

2 ЛП - !!!!!!! ЧТО ТЫ СКАЗАЛ ТЫ САМ ТО ПОНЯЛ????????
ЭТОЖЕ И ЕСТЬ ТО ЛЕКАРСТВО,
КОТОРОЕ ТЫ В СВОЕМ ПЕРВОМ ОТВЕТЕ ПРОПИСЫВАЛ...

ажно комментарии в глотке застряли...


2 Лифчик
блин, я уже потерялся - в какой поток тебе отвечать...

Я понял кажется наконец, о чем ты так долго спрашива.
САМОЕ ИНТЕРЕСНОЕ, ЧТО ТЫ ЭТО СДЕЛАЛ!!!
Осталась одна запятая... Кадется, её можно поставить...

(Я бы не додумался до твоей идеи)

Скажы - ты имитируешь вызов контрола ред. гиперлинк "по требованию"?

То есть, твоя форма нужна только для того, чтобы достучаться до контрола
редактирования гиперлинка - так?
...
Рейтинг: 0 / 0
Закрытие формы на Activate
    #32692044
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victosha2 ЛП - !!!!!!! ЧТО ТЫ СКАЗАЛ ТЫ САМ ТО ПОНЯЛ????????
ЭТОЖЕ И ЕСТЬ ТО ЛЕКАРСТВО,
КОТОРОЕ ТЫ В СВОЕМ ПЕРВОМ ОТВЕТЕ ПРОПИСЫВАЛ...
Это к чему?
Ну не люблю я DoCmd, чтож теперь поделать. Иногда им все-таки приходится пользоваться (ну не умею я по другому формы закрывать), менее асинхронным он от этого не становится.
...
Рейтинг: 0 / 0
Закрытие формы на Activate
    #32692059
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лох Позорный Victosha2 ЛП - !!!!!!! ЧТО ТЫ СКАЗАЛ ТЫ САМ ТО ПОНЯЛ????????
ЭТОЖЕ И ЕСТЬ ТО ЛЕКАРСТВО,
КОТОРОЕ ТЫ В СВОЕМ ПЕРВОМ ОТВЕТЕ ПРОПИСЫВАЛ...
Это к чему?
Ну не люблю я DoCmd, чтож теперь поделать. Иногда им все-таки приходится пользоваться (ну не умею я по другому формы закрывать), менее асинхронным он от этого не становится.

Это к тому - что форма - она вся асинхронная. И иногда пребывает в режимах, когда "синхронная" попытка подергать за некое действие не проходит
- в силу незавершенности текущего действия и их "режимной" несовместности.

DoCmd - он в такой ситуации ОБЯЗАН и не может не быть асинхронный -синхронный он на х";ен никому не нужен. А такое впечатление - что он не полностью следует своей желательной и необходимой программисту асинхронности.

Не любить его легко - заменить непросто.
Подозреваю, что не любишь ты его именно в тех местах, где он твои АСИНХРОННЫЕ ожидания не оправдывает...
...
Рейтинг: 0 / 0
Закрытие формы на Activate
    #32692088
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Victosha
Ты знаешь, вот когда я форму закрываю с помощью DoCmd.Close (снаружи, а не из самой же формы), то я ожидаю, что после отработки этой команды - форма будет закрыта. События там всякие отработают, из коллекции Forms она пропадет. Вот такое вот у меня скромное желание. А аксесу с его DoCmd на мои желания плевать. Сколько раз сталкивался, что DoCmd.Close отрабатывает, причем без ошибок, а форма еще не закрыта, обработчик события закрытия не отработал, из коллекции не пропало. Свинство. Когда оно отработает целиком и полностью - одному DoCmd известно.

Вот и кажись подобное свинство. DoCmd.RunCommand acCmdEditHyperlink непонятно когда запись/форму освобождает, а без этого хрен закроешь.

Так что не люблю я DoCmd именно в тех местах, где он мои СИНХРОННЫЕ ожидания не оправдывает.
...
Рейтинг: 0 / 0
Закрытие формы на Activate
    #32692092
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, COM-овские объекты по определению синхронны
Внутри своих методов они могут вызывать ассинхронные куски кода на выполнения, но сами методы - синхронны.
Вот зачем DoCmd асинхронностью балуется - я понять не могу.
...
Рейтинг: 0 / 0
Закрытие формы на Activate
    #32692101
Фотография Лифчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victosha
Скажы - ты имитируешь вызов контрола ред. гиперлинк "по требованию"?

То есть, твоя форма нужна только для того, чтобы достучаться до контрола
редактирования гиперлинка - так?Иес. Раз контрол в подчиненной форме потерял нужные мне гиперлинковые свойства (в т.ч. - возможность вызова диалога), то я и хочу передать фокус на другой, подходящий контрол. Но самое интересное, что некто "бывает" в другой ветке подсказал, как подходящий контрол на главной форме устроить. Щас буду делать. Или есть еще какие-нить соображения? Всегда рад...

Блин, я на форуме в основном в роли просителя выступаю, стыдно, пора уже начать самому советы давать. Тока я не успеваю чаще всего :)
...
Рейтинг: 0 / 0
25 сообщений из 48, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Закрытие формы на Activate
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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