如何避免ms访问公式中的名称错误?

时间:2013-03-07 21:18:54

标签: ms-access ms-access-2007 ms-access-2010

我想将表单字段的DefaultValue设置为

=IIf(IsNull([Forms]![MyForm]![MySubForm].[Form]![MyField]);"";[Forms]![MyForm]![MySubForm].[Form]![MyField])

关闭MyForm时,我想将字段值设置为“”。不幸的是我无法找到如何测试MyForm是否关闭:我尝试过IsNull,IsObject,它是否总是返回#Name?

这可能吗?

1 个答案:

答案 0 :(得分:2)

我使用这样的函数来检查表单是否打开:

Function IsLoaded(ByVal strFormName As String) As Boolean
 ' Returns True if the specified form is open in Form view or Datasheet view.

    Const conObjStateClosed = 0
    Const conDesignView = 0

    If SysCmd(acSysCmdGetObjectState, acForm, strFormName) <> conObjStateClosed Then
        If Forms(strFormName).CurrentView <> conDesignView Then
            IsLoaded = True
        End If
    End If

End Function