If Adodc1.Recordset.RecordCount > 0 Then
For K = 1 To Adodc1.Recordset.RecordCount
For i = 1 To 7
DataGrid1.Row = K - 1
DataGrid1.Col = i - 1
msgbox DataGrid1.Text
Next i Next K
end ifAdodc1.Recordset.RecordCount=100
当k循环时候
DataGrid1.Row = K - 1
k超过16了 就是第16条记录后
DataGrid1.Row 总是等于14
这是为啥呢
For K = 1 To Adodc1.Recordset.RecordCount
For i = 1 To 7
DataGrid1.Row = K - 1
DataGrid1.Col = i - 1
msgbox DataGrid1.Text
Next i Next K
end ifAdodc1.Recordset.RecordCount=100
当k循环时候
DataGrid1.Row = K - 1
k超过16了 就是第16条记录后
DataGrid1.Row 总是等于14
这是为啥呢
Dim k As Integer, Rstcount As Integer
Rstcount = Adodc1.Recordset.RecordCountDataGrid1.Row = 44
DataGrid1.Col = 0
MsgBox DataGrid1.Text //这里可以得到值
For k = 1 To Rstcount
For i = 1 To 5
DataGrid1.Row = 44 'K - 1 //但这里就是提示 invalid row number DataGrid1.Col = 0 'i - 1
Next
NextEnd Sub
原来14是datagrid显示的行数
超过了 就
For k = 1 To Rstcount
DataGrid1.Row 永远是 14
.........我想得到所有行 第一列 单元格的数据怎么办呢
我想用 For K = 1 To Adodc1.Recordset.RecordCount
For i = 1 To 7
DataGrid1.Row = K - 1
就不能再次一个一个读取记录 读取表格会快点!
谁知道DataGrid1.Row有问题算哟还是用直接读ado的recordset
...取值 每次从头取起
DataGrid就从第一行开始滚到最后一行
DataGrid1.Row = K - 1
在可见范围内可以,到达不可见的行时就开始向下跳K-1行了。把
DataGrid1.Row = K - 1
改为
DataGrid1.Row =1
放在
For i = 1 To 7
之前,让它每次前进1行。For K = 1 To Adodc1.Recordset.RecordCount
DataGrid1.Row =1
For i = 1 To 7
DataGrid1.Col = i - 1
msgbox DataGrid1.Text
Next
Next
试试!