用于将布尔值更改为true或false的按钮;不总是假的?

时间:2013-10-31 12:40:33

标签: sql vba ms-access

我有一个按钮代码,用于设置名为ProjectCompleteOrgBtn的布尔值。

我试图让这个按钮将布尔值设置为true,如果你单击它,然后如果你再次点击它后它再次为假,那么再次为真,重复。

以下表格的真假排序方式不同。虽然目前每次点击按钮,但总是如此。我该如何解决这个问题?

Private Sub ProjectCompleteOrgBtn_Click()

Dim ProjectCompeleteOrgB As Boolean

If ProjectCompleteOrgB = True Then
Set ProjectCompleteOrgB = False
Else
Set ProjectCompleteOrgB = True



If ProjectCompleteOrgB = False Then

MsgBox (False)
Forms!DatabaseF.ProjectQSubF.Form.RecordSource = "Select * from ProjectsQ ORDER BY ProjectComplete ASC"
Forms!DatabaseF.ProjectQSubF.Form.Refresh

Else

MsgBox (True)
Forms!DatabaseF.ProjectQSubF.Form.RecordSource = "Select * from ProjectsQ ORDER BY ProjectComplete DESC "
Forms!DatabaseF.ProjectQSubF.Form.Refresh
ProjectCompleteOrgB = False

End If

End Sub

1 个答案:

答案 0 :(得分:2)

首先,你做

Dim ProjectCompeleteOrgB As Boolean

但请注意拼写错误(CompElete)。

然后你写

If ProjectCompleteOrgB = False Then

但您的代码只会更改True If块中的属性或变量值。在其他任何地方都不会改变。

此外,您可以这样做:

If ProjectComplete = True Then
Set ProjectComplete = False
Else
Set ProjectComplete = True
只需写完

就可以短得多
ProjectComplete = Not ProjectComplete