跃马江湖道 mv:关于VB的查询问题,望解答,急!

来源:百度文库 编辑:高考问答 时间:2024/05/09 04:19:58
我正在做一个学生管理系统的作业,后天就要交。
有一个查询界面出现问题,望解答,谢...

这个界面上方是一用MSHFlexGrid控件画的框,希望查询的结果显示在里面
下方是三个Option Button和三个写查询条件的本文框

现在我的代码是这样的:

Private Sub Command1_Click(Index As Integer)

Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim SQLStr As String
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\学校管理系统\db1.mdb;Persist Security Info=False"
cnn.Open
If Text2(0).Text = "" Then
MsgBox "请填写一个查询条件!", vbOKOnly + vbInformation, "注意"
End If
If Option1.Value = True Then
SQLStr = "select * from 学生信息 where 学号='" & Text2(0).Text & "'"
ElseIf Option2.Value = True Then
SQLStr = "select * from 学生信息 where 姓名='" & Text2(1).Text & "'"
ElseIf Option3.Value = True Then
SQLStr = "select * from 学生信息 where 院系='" & Text2(2).Text & "'"
End If
rs.Open SQLStr, cnn, adOpenDynamic, adLockOptimistic, -1

MSFlexGrid1.Cols = rs.Fields.Count
MSFlexGrid1.Rows = 1

MSFlexGrid1.Row = 0
For i = 0 To rs.Fields.Count - 1
MSFlexGrid1.Col = i
MSFlexGrid1.Text = rs.Fields(i).Name
Next i
While Not rs.EOF
MSFlexGrid1.Rows = MSFlexGrid1.Rows + 1
MSFlexGrid1.Row = MSFlexGrid1.Rows - 1
For i = 0 To rs.Fields.Count - 1
MSFlexGrid1.Col = i
MSFlexGrid1.Text = rs.Fields(i).Value
Next i
rs.MoveNext
Wend
rs.Close
cnn.Close
Set rs = Nothing
Set cnn = Nothing
End Sub

==============
运行的时候输入查询条件点击查询的时候出现

实时错误'424'
要求对象

调试后显示
MSFlexGrid1.Cols = rs.Fields.Count
这个有错误

不知道为什么啊...我VB基本没学过,不懂怎么改阿
或者有什么其他可用的代码可以达到我需要的效果
谢谢

直接将rs赋给Mshflexgrid控件的Datasource属性就可以了