Public Sub ap_SetWorkingState(Optional sMessage As String = "Working, Please Wait......", Optional aState As Boolean = True)
On Error GoTo ErrHandler
If aState = True Then
If (Not ap_FormlsOpen("frmWait")) Then
ap_OpenForm "frmWait"
End If
DoCmd.Hourglass True
Forms("frmWait").Form.lblMessage.Caption = sMessage
Forms("frmWait").Form.Repaint
Else
ap_CloseForm "frmWait"
DoCmd.Hourglass False
End If
Exit Sub
ErrHandler:
' Insert error handler
Exit Sub
End Sub
' ###################################################################################
Function ap_FormlsOpen(strFormName As String) As Integer
On Error GoTo ErrHandler
Dim frmCurrent As Form
For Each frmCurrent In Forms
If frmCurrent.Name = strFormName Then
ap_FormlsOpen = True
Exit Function
End If
Next frmCurrent
Exit Function
ErrHandler:
' Insert error handler
Exit Function
End Function
' ###################################################################################
Function ap_OpenForm(sFormName As Variant, _
Optional nStat As Variant = acNormal, _
Optional sFilter As String = "", _
Optional sWhereClause As String = "", _
Optional nMode As Variant = acWindowNormal, _
Optional sOpenArgs As String = "")
On Error GoTo ErrHandler
Dim sFName As String
If IsObject(sFormName) Then
sFName = sFormName.Name
Else
sFName = sFormName
End If
If ap_FormlsOpen(sFName) Then
Forms(sFName).Repaint
Else
DoCmd.OpenForm sFName, nStat, sFilter, sWhereClause, , nMode, sOpenArgs
End If
Exit Function
ErrHandler:
' Insert error handler
Exit Function
End Function
' ###################################################################################
Function ap_CloseForm(sFormName As Variant)
On Error GoTo ErrHandler
Dim sFName As String
If IsObject(sFormName) Then
sFName = sFormName.Name
Else
sFName = sFormName
End If
If ap_FormlsOpen(sFName) Then
DoCmd.Close acForm, sFName
End If
Exit Function
ErrHandler:
' Insert error handler
Exit Function
End Function
' ###################################################################################