各位:
    你们好!
    我执行查询时(第一次)把数据显示在MSHFlexGrid1中(MSHFlexGrid1.datasourse=rsjbqk),退出查询后又执行新的查询(第二次)可显示在MSHFlexGrid1中的数据仍为第一次查询显示的数据,只有结束程序后执行查询显示数据才正确。且我在加载MSHFlexGrid1时执行了xffindlist.MSHFlexGrid1.Clear
为什么???
Private Sub Form_Load()
     xffindlist.MSHFlexGrid1.Clear
     Set xffindlist.MSHFlexGrid1.DataSource = rsjbqk
End Sub

解决方案 »

  1.   

    不会吧!!你可以这样检查一下!的二次执行时把 set那句去掉,看看.clear有没有成功?
      

  2.   

    代码不应写在 Form_Load()事件中。写在相应的查询按钮事件中:
    Private Sub cmdFind_Click()
         xffindlist.MSHFlexGrid1.Clear
         Set xffindlist.MSHFlexGrid1.DataSource = rsjbqk
    End Sub
      

  3.   

    Private Sub Form_Load()
         xffindlist.MSHFlexGrid1.Clear
         Set xffindlist.MSHFlexGrid1.DataSource = rsjbqk
         xffindlist.MSHFlexGrid1.refresh
    End Sub
    ---------就是你查询的条件是不是都是一样的呢?
      

  4.   

    '显示数据
    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