Private Sub Form_Load()
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\VB±|μ \± êé′ú \02\052\db_books.mdb;Persist Security Info=False"
cn.Open
Set rs = cn.OpenSchema(adSchemaColumns)
Set MSHFlexGrid1.DataSource = rs
cn.Close
For i = 1 To MSHFlexGrid1.Rows
List1.AddItem MSHFlexGrid1.TextMatrix(i, 3)
Next iEnd Sub
设计这个的目的是:把数据库中所有的表名加入到LIST控件中借注的是MSHFlexGrid1控件
他说下标限,这是怎么回事?苦闷!
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\VB±|μ \± êé′ú \02\052\db_books.mdb;Persist Security Info=False"
cn.Open
Set rs = cn.OpenSchema(adSchemaColumns)
Set MSHFlexGrid1.DataSource = rs
cn.Close
For i = 1 To MSHFlexGrid1.Rows
List1.AddItem MSHFlexGrid1.TextMatrix(i, 3)
Next iEnd Sub
设计这个的目的是:把数据库中所有的表名加入到LIST控件中借注的是MSHFlexGrid1控件
他说下标限,这是怎么回事?苦闷!
List1.AddItem MSHFlexGrid1.TextMatrix(i, 3)
Next i注意第0行是从表头开始的,自己看看这行的数据有没有用.
VB中的数组类属性,默认都是从0开始的。
因此一个10行的GRID,真实标记是从0到9
因此你写For i = 1 To MSHFlexGrid1.Rows
当I=MSHFlexGrid1.Rows 的时候已经超过了GRID的实际行数标号。