Нужно узнать, загружена (открыта) ли форма?
Проверка
- Код: Выделить всё
If frmPersonalADD.Visible = False Then
, соответственно, приводит к открытию формы, а не к желаемому результату!
Собственно суть задачи...
Есть форма1 с таблицей. Нажимаем "Добавить запись в таблице". Запускаем DoEvents (ожидание) на этой форме1, пока открыта форма2 для внесения изменений в БД. Как только форма2 закрывается, форма1 вносит изменения из БД в таблицу.
Короче, надо узнать, форма2 видна или нет?
Делаю сие событие через переменную "ADD ", но это неправильно...
- Код: Выделить всё
'Форма1 (с таблицей) - "frmPersonal"
'-------------------------------------------------------
Option Explicit
Public ADD As Boolean 'Ожидание завершения формы
'-------------------------------------------------------
Private Sub mnuADD_Click()
On Error GoTo Er
Consts.ID = Empty
'Открываем форму для внесения изменений в БД
frmPersonalADD.Show
frmPersonalADD.ZOrder
frmPersonalADD.Caption = "Персонал: Новый"
'V Ожидание завершения формы-----------------------
ADD = True
Do
If ADD = False Then
'Приложение завершается!
Exit Do
End If
DoEvents
Loop While True
'A Ожидание завершения формы-----------------------
'Обновление набора записей в таблице
...
...
...
Exit Sub
Er:
Screen.MousePointer = vbDefault
MsgBox "Error " & Err.Number & ": " & Err.Description, vbOKOnly + vbCritical, "Error"
End Sub
- Код: Выделить всё
'Форма2 (для добавления информации в БД) - "frmPersonalADD"
'-------------------------------------------------------
Private Sub Form_Unload(Cancel As Integer)
On Error GoTo Er
'Завершаем ожидание цикла в предыдущей форме
frmPersonal.ADD = False
Exit Sub
Er:
Screen.MousePointer = vbDefault
MsgBox "Error " & Err.Number & ": " & Err.Description, vbOKOnly + vbCritical, "Error"
End Sub
P.S. Обе формы чилдреновские[/syntax]