精炼套不能打舰炮:vb 实时错误 424

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/03 23:30:16
Private Sub CmdQuery_Click()
Dim StrSQL As String
StrSQL = "select * from 员工档案 where " '//给定义好的字符变量赋予SQL语句
'//判断复选框有一个选中时,则
If ChkCode.Value = 1 Or ChkName.Value = 1 Or ChkDate.Value = 1 Then
'//判断三个复选框同时选中时,则
If ChkCode.Value = 1 And ChkName.Value = 1 And ChkDate.Value = 1 Then
StrSQL = StrSQL & "员工编号= '" & Trim(TxtCode.Text) & "'" & "and" & " 员工姓名 = '" & Trim(TxtName.Text) & "'" & "and" & " 进入公司时间 between #" & DTPFromDate.Value & "# and #" & DTPToDate.Value & "#" & ""
'//判断编号与姓名复选框选中时,则
ElseIf ChkCode.Value = 1 And ChkName.Value = 1 Then
StrSQL = StrSQL & "员工编号= '" & Trim(TxtCode.Text) & "'" & "and" & " 员工姓名 = '" & Trim(TxtName.Text) & "'"
'//判断编号与进入公司时间复选框选中时,则
ElseIf ChkCode.Value = 1 And ChkDate.Value = 1 Then
StrSQL = StrSQL & "员工编号= '" & Trim(TxtCode.Text) & "'" & "and" & " 进入公司时间 between #" & DTPFromDate.Value & "# and #" & DTPToDate.Value & "#" & ""
'//判断姓名与进入公司时间复选框选中时,则
ElseIf ChkName.Value = 1 And ChkDate.Value = 1 Then
StrSQL = StrSQL & " 员工姓名 = '" & Trim(TxtName.Text) & "'" & "and" & " 进入公司时间 between #" & DTPFromDate.Value & "# and #" & DTPToDate.Value & "#" & ""
Else
If ChkCode.Value = 1 Then '//只有编号复选框选中时,则
StrSQL = StrSQL & "员工编号= '" & Trim(TxtCode.Text) & "'"
End If
If ChkName.Value = 1 Then '//只有姓名复选框选中时,则
StrSQL = StrSQL & " 员工姓名 = '" & Trim(TxtName.Text) & "'"
End If
If ChkDate.Value = 1 Then '//只有进入公司时间复选框选中时,则
StrSQL = StrSQL & "进入公司时间 between #" & DTPFromDate.Value & "# and #" & DTPToDate.Value & "#" & ""
End If
End If
If RsQRecord.State = adStateClosed Then
RsQRecord.Open StrSQL, DBCON, adOpenKeyset, adLockOptimistic, adCmdText
End If

Set VSDataRecord.DataSource = RsQRecord.DataSource '此处出错
LblCount.Caption = RsQRecord.RecordCount '//将记录条数显示在标签上
VSDataRecord.Refresh '//刷新网格
RsQRecord.Close '//关闭记录集
TxtCode.Text = Empty '//请空文本框
TxtName.Text = Empty
Else
If RstQRecord.State = adStateClosed Then
RstQRecord.Open "员工档案", DBCON, adOpenKeyset, adLockOptimistic, adCmdTable
End If
Set VSDataRecord.DataSource = RstQRecord.DataSource '//设置网格的数据源
LblCount.Caption = RstQRecord.RecordCount
End If
End Sub

StrSQL = "select * from 员工档案 where "
在WHERE的后面没有条件!!修改:
StrSQL = "select * from 员工档案"

或者加上你的条件限制!