你的代码和问题表述有点乱,现在我尝试解答如下:
1.首先你的这段代码:
Text1.Text = rs.Fields(0)
Text2.Text = rs.Fields(1)
Text3.Text = rs.Fields(2)
Text4.Text = rs.Fields(3)
已经将Text1到Text4这4个文本框与记录集(rs)绑定,默认的情况下记录集的当前记录就是第一条记录,所以你一查询就显示第一条记录。如果你想显示其它记录,移动一下当前记录就行了,例如 rs.MoveNext
2.你用Text1显示记录,那么就不要用它来接受查询条件,因为这样可能会导致混乱,建议你的
SQL代码改一下
"select * from student1 where XSID like '" & Text5.Text & "%'"
3.用的MSHFlexgrid 列表框显示记录集,你的那段代码没问题(过滤条件框已帮你改为Text5)
s = "select * from student1 where XSID like '" & Text5.Text & "%'"
Set m1.DataSource = conn.Execute(s)
如果用MSHFlexgrid 列表框显示记录集,建议取消rs与Text1到Text4之间的绑定
改用MSHFlexgrid的RowColChange事件将列表框当前行的各列值分别赋给Text1,Text2,Text3和Text4,具体的代码你自己去研究吧。
文本框不就是只能显示一条信息吗?要不然你想达到什么效果,把所有条记录都显示出来?