我有一个名为Attendance的用户窗体,上面有两个列表框。一个叫坐着,一个叫不坐。
在SQL列中,每个人都从1开始。如果今天有人在这里,则将其标记为“ 2”,如果不是,则将其标记为“ 3”或“ 4”。
我有一个重置按钮,希望将其按下时将其重置为“ 1”。我需要做的是根据用户当前突出显示的列表框更改UPDATE查询。这是我到目前为止的内容,但是没有用。
Sub resetagent()
database_connect
Dim AttendRecord As New ADODB.Recordset
Dim Cm As ADODB.Command
If appconn.State = 0 Then
Call database_connect
End If
Set Cm = New ADODB.Command
With Cm
.ActiveConnection = appconn
If attendance.Seated.value <> "" Then
.CommandText = "UPDATE [Attendance] SET [Seated] = '1' WHERE [Agentname]= '" & attendance.Seated.value & "'"
ElseIf attendance.NotSeated.value <> "" Then
.CommandText = "UPDATE [Attendance] SET [Seated] = '1' WHERE [Agentname]= '" & attendance.NotSeated.value & "'"
.CommandType = adCmdText
.Execute
End If
End With
Set AttendRecord = Nothing
database_Disconnect
End Sub
答案 0 :(得分:1)
您的.Execute
位于if语句内部,并且仅当您位于语句的Else
部分时才能运行。将End if
语句上移两行。
如果两个列表框都不为空(即,一个为'1',另一个为'3'),则它与If
语句条件中的任何一个都不匹配,并且在此处不执行任何操作。
您只要移动End If
行,它将执行按钮默认的CommandText
是什么。