VBA, MS Access MS Access в примерах

Проверка - Открыта ли форма? (IsFormLoaded)

Public Function IsFormLoaded(sFormName$) As Boolean
'es 09.09.2017
' Определяет, загружена ли форма
' Возвращает:
'   Истина - если форма загружена и не находится в режиме редакции;
'   Ложь   - если форма не загружена или находится в режиме редакции.
'--------------------------------------------------------------------------
' Аргументы:
'   sFormName = имя формы
'--------------------------------------------------------------------------
On Error GoTo IsFormLoaded_Err
    If CurrentProject.AllForms(sFormName).IsLoaded Then
        If CurrentProject.AllForms(sFormName).CurrentView > 0 Then '0 = Design view
            IsFormLoaded = True
        End If
    End If

IsFormLoaded_Bye:
    Exit Function

IsFormLoaded_Err:
    'MsgBox "Ошибка " & Err.Number & vbCrLf & Err.Description & vbCrLf & "в процедуре: IsFormLoaded", vbCritical, "Error"
    'Debug.Print "IsFormLoaded: " & vbCrLf & _
        "Ошибка " & Err.Number & vbCrLf & Err.Description & vbCrLf & "в процедуре: IsFormLoaded"
    Err.Clear
    Resume IsFormLoaded_Bye
End Function




Ещё вариант
(Древний - от прибл 1997г.)

Public Function IsLoaded(sFormName As String) As Boolean
' Аргументы:  sFormName = имя формы
' Назначение: определяет, загружена ли форма
' Возвращает: Истина, если форма загружена;
'             Ложь, если форма не загружена.
'--------------------------------------------------------------------
Dim i
    IsLoaded = False
    For i = 0 To Forms.Count - 1
        If Forms(i).FormName = sFormName Then
            IsLoaded = True
            Exit Function
        End If
    Next
End Function
Назад ToTop
L.E. 10.05.2023
Рейтинг@Mail.ru