0

ProjectCompleteOrgBtn という名前のブール値を設定するボタンのコードがあります。

このボタンをクリックするとブール値が true に設定され、false になった後にもう一度クリックすると true が繰り返されます。

true と false は、以下のフォームを異なる方法でソートします。現時点では、ボタンをクリックするたびに、常に 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
4

1 に答える 1

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
于 2013-10-31T12:44:01.923 に答える