我从excel运行访问宏。
为了确保宏已经完成加载,我想使用每个访问宏的标志删除。
在访问宏开始时,标志为false,在结束时变为true。这允许excel等待合适的时间。
如何让excel检查访问表的字段";标志";是真是假?
Sub GoIfTrue()
Dim appAccess As New Access.Application
Dim Flag As Boolean
Set appAccess = Access.Application
appAccess.OpenCurrentDatabase "C:Usersfile.accdb"
If Flag.[FlagVBA] = True Then
MsgBox "True"
End If
End Sub
我假设您希望将该标志存储在配置表中。
对于这种简单的情况,您可以使用内置的函数DLookUp第三个参数用于按主键进行筛选并获得所需的记录。
Sub GoIfTrue()
Dim appAccess As New Access.Application
Dim Flag As Boolean
Set appAccess = Access.Application
appAccess.OpenCurrentDatabase "C:Usersfile.accdb"
If appAccess.DLookup("Flag", "ConfigTable", "ID = 1") = True Then
MsgBox "True"
End If
End Sub
另一种选择是将标志存储为数据库属性。您可以在上看到一个示例https://stackoverflow.com/a/32758185/777551