查询窗体的特色在于三种查询之间的关系。既可以按照单一条件查询也可以按照用户自定义选择查询。
If Check1(0).Value Then '选中第一个单选框
If Trim(txtSID.Text) = "" Then '防止学号为空
MsgBox "学号不能为空!", vbOKOnly + vbExclamation, "警告"
txtSID.SetFocus
Exit Sub
Else
If Not IsNumeric(Trim(txtSID.Text)) Then '学号必须为数字
MsgBox "请输入数字!", vbOKOnly + vbExclamation, "警告"
Exit Sub
txtSID.SetFocus
End If
dd(0) = True '赋值,与check1(1),check1(2)建立关系
txtSQL = txtSQL & "student_ID= '" & Trim$(txtSID.Text) & "'" '从学籍信息表中查找学生ID
End If
End If
If Check1(1).Value Then '选中第二个单选框
If Trim(txtName.Text) = "" Then '防止姓名为空
MsgBox "姓名不能为空!", vbOKOnly + vbExclamation, "警告"
txtName.SetFocus
Exit Sub
Else
dd(1) = True '赋值,与check1(2)建立关系
If dd(0) Then '选中第一个单选框
txtSQL = txtSQL & "and student_Name= '" & txtName.Text & "'" '学生ID和学生姓名
Else '如果没选中第一个输入框
txtSQL = txtSQL & "student_Name= '" & txtName.Text & "'" '查找学生姓名
End If
End If
End If
If Check1(2).Value Then '选中第三个输入框
If Trim$(txtCourse.Text) = "" Then '确保课程不为空
MsgBox "课程不能为空!", vbOKOnly + vbExclamation, "警告"
txtCourse.SetFocus
Exit Sub
Else
dd(2) = True '便利后面的判断
If dd(0) Or dd(1) Then '判断选中的是check1(0),还是check1(1).
txtSQL = txtSQL & "and course_Name= '" & txtCourse.Text & "'"
Else '只选第三个
txtSQL = txtSQL & "course_Name= '" & txtCourse.Text & "'" '从表中查找课程名
End If
End If
End If
If Not (dd(0) Or dd(1) Or dd(2) Or dd(3)) Then '防止都不选的情况发生
MsgBox "请设置查询方式!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If