各位:
你们好!
我执行查询时(第一次)把数据显示在MSHFlexGrid1中(MSHFlexGrid1.datasourse=rsjbqk),退出查询后又执行新的查询(第二次)可显示在MSHFlexGrid1中的数据仍为第一次查询显示的数据,只有结束程序后执行查询显示数据才正确。且我在加载MSHFlexGrid1时执行了xffindlist.MSHFlexGrid1.Clear
为什么???
Private Sub Form_Load()
xffindlist.MSHFlexGrid1.Clear
Set xffindlist.MSHFlexGrid1.DataSource = rsjbqk
End Sub
你们好!
我执行查询时(第一次)把数据显示在MSHFlexGrid1中(MSHFlexGrid1.datasourse=rsjbqk),退出查询后又执行新的查询(第二次)可显示在MSHFlexGrid1中的数据仍为第一次查询显示的数据,只有结束程序后执行查询显示数据才正确。且我在加载MSHFlexGrid1时执行了xffindlist.MSHFlexGrid1.Clear
为什么???
Private Sub Form_Load()
xffindlist.MSHFlexGrid1.Clear
Set xffindlist.MSHFlexGrid1.DataSource = rsjbqk
End Sub
不能用xffindlist.visible=false
而用unload me
代码不应写在 Form_Load()事件中。写在相应的查询按钮事件中:
Private Sub cmdFind_Click()
xffindlist.MSHFlexGrid1.Clear
Set xffindlist.MSHFlexGrid1.DataSource = rsjbqk
End Sub
可以释放mshflexgrid和记录集的帮定
最好用个显示函数专门'显示数据
Private Sub ShowData()
Dim col, row As Integer
MSHFlexGrid1.Rows = rs.RecordCount + 1Do While rs.EOF = False
row = row + 1 '表的行
For col = 0 To 8 '表共有9个字段 即共9列
Select Case col
Case 3 To 4
MSHFlexGrid1.TextMatrix(row, col) = Format(rs.Fields(col), "yyyy年mm月dd")
Case Else
MSHFlexGrid1.TextMatrix(row, col) = rs.Fields(col)
End Select
Next col
rs.MoveNext
Loop
End Sub
最好用个显示函数专门'显示数据
Private Sub ShowData()
Dim col, row As Integer
MSHFlexGrid1.Rows = rs.RecordCount + 1Do While rs.EOF = False
row = row + 1 '表的行
For col = 0 To 8 '表共有9个字段 即共9列
Select Case col
Case 3 To 4
MSHFlexGrid1.TextMatrix(row, col) = Format(rs.Fields(col), "yyyy年mm月dd")
Case Else
MSHFlexGrid1.TextMatrix(row, col) = rs.Fields(col)
End Select
Next col
rs.MoveNext
Loop
End Sub