powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Закрытие окна Access
11 сообщений из 11, страница 1 из 1
Закрытие окна Access
    #32196702
LANKO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Довольно часто, при закрытии окна Access, программа полностью не выгружается. И снимаеться только из Таск Менеджера. Пока так не снять, загрузить новое окно программы неудаётся. Это очень...очень не приятно!....Особенно для клиента.

Ситуация наблюдаеться под Win2K/AccessXP
Может есть какая-то проверка на корректное закрытие Access.
Спасибо.
...
Рейтинг: 0 / 0
Закрытие окна Access
    #32196796
Фотография progist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чаще всего это происходит из-зи несоблюдения неписаного правила VB, которое гласит:

-ежели ты чего-либо создал, то сам и уничтожь

т.е. не надо полагаться на то,то объектные переменные исчезают сами собой с окончанием работы процедуры. Тем более это относится к переменным модуля и особенно к Public.
Надо всегда закрывать эти объекты, если есть - своими методами, а если нет то
Set obj = Nothing
Причем закрывать в любом случае, т.е. если процедура завершена аварийно - в обработчике ошибок должно быть предусмотрено закрытие объектов
...
Рейтинг: 0 / 0
Закрытие окна Access
    #32197458
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Кроме того, известны случаи, когда Аксесс не выгружается, если:

1. Значение чекбокса проверяется в ифе по типу If MyChk Then вместо If MyChk = True Then.

2. Идет проверка значения контрола в таком куске программы:

Select Case True
Case MyCtl = 1, MyCtl = 2

Это все глюки, но глюки имеющие место.
...
Рейтинг: 0 / 0
Закрытие окна Access
    #32197469
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Причем закрывать в любом случае, т.е. если процедура завершена аварийно - в обработчике ошибок должно быть предусмотрено закрытие объектов
Ну все-таки не в обработчике. При закрытии объектов тоже могут ошибки быть (простейший случай - еще и не успели открыть). Если у тебя такая радость в обработчике случится - прощай обработчик, здраствуй обработчик верхней функции
При работе с критичными ресурсами имхо надо в обработчике просто запомнить ошибку, продолжить сразу с finalize-блока, там On Error Resume Next, все позакрывать, On Error Goto 0, выбросить ошибку вверх (если она была).
...
Рейтинг: 0 / 0
Закрытие окна Access
    #32197501
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эту тему обсуждали неоднократно
пора в форум добавлять, причём сразу после сжатия
по поводу чекбокса.
Значение чекбокса проверяется в ифе по типу If MyChk Then вместо If MyChk = True Then.
не только Значение чекбокса а вообще If чтото = True Then.
явно писать надо
...
Рейтинг: 0 / 0
Закрытие окна Access
    #32197516
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я, блин, весь обчекбоксился :)
Нифига вашу ситуацию воспроизвести не удается c "if Флажок Then"
М.б. такой глюк и был - когда-либо давно, или случается строго в опредленные часы ?) у меня на акесе2000+сп2 все закрывается без проблем.
...
Рейтинг: 0 / 0
Закрытие окна Access
    #32197524
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 TatianaT:

Ну, всегда писать =True - это перебор. Нужели следующую строчку Вы порекомендуете?

If (a = 8) = True Then

2 Senin Viktor:

Я сам это не наблюдал, но читал на каком-то сайте.
...
Рейтинг: 0 / 0
Закрытие окна Access
    #32197543
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Владмир Саныч

А сайт случайно не про акес 95/97 ? :)

З.Ы.
У меня тоже иногода не закрывается окошко. Но в основном после издевательств над рекодсетами, Application. У клиентов (отлаженные проги) такого еще не было.
...
Рейтинг: 0 / 0
Закрытие окна Access
    #32197559
Фотография TatianaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тов, критика принимается

я имела ввиду чтото- as Boolean, т,е если

Dim Вася as Boolean
If Вася = True/False Then.
вместо If Вася Then. или If Not Вася Then. (а флажок как частный случай)
...
Рейтинг: 0 / 0
Закрытие окна Access
    #32197618
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 Senin Viktor:

:^) По-моему, там не было сказано, к какой версии относится это замечание.

2 TatianaT:

Насколько я разбираюсь в апельсинах, с True дело вот в чем. Булевская константа True - это -1, однако If срабатывает всегда, когда в него запихано что угодно кроме нуля. Таким образом, если A=8, то и If A, и If Not A оба сработают, как будто это True. Вот во избежание таких ситуаций надо писать If A = True или If A = -1.
...
Рейтинг: 0 / 0
Закрытие окна Access
    #32277896
RIm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Этот топик однажды мне помог, но натолкнулся еще на один глюк:

Есть поле в форме с такой вот кривой формулой
=[kol]-(nz([m01];0)+nz([m02];0)+nz([m03];0)+nz([m04];0)+nz([m05];0)+nz([m06];0)+nz([m07];0)+nz([m08];0)+nz([m09];0)+nz([m10];0)+nz([m11];0)+nz([m12];0))
Вот при наличии этого поля аксес также не выгружается.


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


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


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