我把Rows的值设为2行,一行固定行,下面这段程序,如果Myrs中只有唯一一条数据就没有错误,如果不只一条就提示TextMatrix(r, i)越界,而且好象无论Myrs.RecordCount的值是多少,Rows永远都是2,郁闷ing……    With MSFlexGrid1
        .Rows = (Myrs.RecordCount + 1)
        r = 1
        Do While Not Myrs.EOF
            
            For i = 1 To Myrs.Fields.Count
             
                .TextMatrix(r, i) = Trim(Myrs.Fields(i - 1))
              
            Next i
            r = r + 1
            Myrs.MoveNext
        Loop
    End With

解决方案 »

  1.   

    我把rows的默认值改为大于数据的行数就可以显示正常。
        例如rows的默认值为10, Myrs.RecordCount 为5就正常。
      

  2.   

    With MSFlexGrid1
            .Rows = (Myrs.RecordCount + 1)
            r = 1
            Do While Not Myrs.EOF
                
                For i = 0 To Myrs.Fields.Count - 1
                 
                    .TextMatrix(r, i) = Trim(Myrs.Fields(i))
                  
                Next i
                r = r + 1
                Myrs.MoveNext
            Loop
        End With
      

  3.   

    For i = 0 To Myrs.Fields.Count - 1
                 
                    .TextMatrix(r, i) = Trim(Myrs.Fields(i))
                  
                Next i
      

  4.   

    你把Myrs.RecordCount输出来看看是多少~~~~
    可能他没取出正确的数值来!!
      

  5.   

    try: Myrs.movelast
        With MSFlexGrid1
            .Rows = (Myrs.RecordCount + 1)
            r = 1
            Myrs.movefirst
            Do While Not Myrs.EOF
                
                For i = 1 To Myrs.Fields.Count
                 
                    .TextMatrix(r, i) = Trim(Myrs.Fields(i - 1))
                  
                Next i
                r = r + 1
                Myrs.MoveNext
            Loop
        End With
      

  6.   

    dim strData as string
    with MSFlexGrid1
           .Rows=1         
           Do While Not Myrs.EOF
                strdata=""
                For i = 0 To Myrs.Fields.Count-1
                 
                    strdata=strdata & Trim(Myrs.Fields(i - 1)) & iif(i=Myrs.Fields.Count-1,"",chr(9))
                  
                Next i
                .AddItem strdata
                Myrs.MoveNext
           Loop
    end with
      

  7.   

    .rows=.rows+1
    rs.movenext
    最後就取出來了呀
      

  8.   

    我估计是你用的游标错误了dim cnns as new adodb.recordsetcnns.open .....'添加这句
    cnns.CursorLocation =adUseClient 
    rs.Open sql,cnns,adOpenForwardOnly ,adLockReadOnly