一:查询学籍信息的一个界面
二整理的流程图。
三:画完流程图真的感觉思路清晰了很多。磨刀不误砍柴工,走好每一步。
附源代码如下:
Dim txtSQL As String Dim MsgText As String Dim dd(4) As Boolean Dim mrc As ADODB.Recordset txtSQL = "select * from result_Info where " If Check1(0).Value Then'第一个复选框被选中
If Trim(txtSID.Text) = "" Then sMeg = "学号不能为空" MsgBox sMeg, 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 txtSQL = txtSQL & "student_ID = '" & Trim(txtSID.Text) & "'" End If End If If Check1(1).Value Then If Trim(txtName.Text) = "" Then sMeg = "姓名不能为空" MsgBox sMeg, vbOKOnly + vbExclamation, "警告" txtName.SetFocus Exit Sub Else dd(1) = True If dd(0) Then txtSQL = txtSQL & "and student_Name = '" & txtName.Text & "'" Else txtSQL = txtSQL & "student_Name = '" & txtName.Text & "'" End If End If End If If Check1(2).Value Then If Trim(txtCourse.Text) = "" Then sMeg = "课程不能为空" MsgBox sMeg, vbOKOnly + vbExclamation, "警告" txtCourse.SetFocus Exit Sub Else dd(2) = True If dd(0) Or dd(1) Then 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 txtSQL = txtSQL & " order by student_ID " Set mrc = ExecuteSQL(txtSQL, MsgText) With myflexgrid .Rows = 2 .CellAlignment = 4 .TextMatrix(1, 0) = "考试编号" .TextMatrix(1, 1) = "学号" .TextMatrix(1, 2) = "姓名" .TextMatrix(1, 3) = "班号" .TextMatrix(1, 4) = "课程名称" .TextMatrix(1, 5) = "分数" Do While Not mrc.EOF .Rows = .Rows + 1 .CellAlignment = 4 .TextMatrix(.Rows - 1, 0) = mrc.Fields(0) .TextMatrix(.Rows - 1, 1) = mrc.Fields(1) .TextMatrix(.Rows - 1, 2) = mrc.Fields(2) .TextMatrix(.Rows - 1, 3) = mrc.Fields(3) .TextMatrix(.Rows - 1, 4) = mrc.Fields(4) .TextMatrix(.Rows - 1, 5) = mrc.Fields(5) mrc.MoveNext Loop End With mrc.Close End Sub