标题:求助! datagrid 下标越界!
只看楼主
mingming2288
Rank: 1
等 级:新手上路
帖 子:8
专家分:5
注 册:2014-6-3
结帖率:50%
已结贴  问题点数:20 回复次数:5 
求助! datagrid 下标越界!
Option Explicit
Dim rs1 As ADODB.Recordset
Dim cnn As ADODB.Connection
Dim i As Integer
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
For i = 0 To text1.UBound
   Text1(i) = DataGrid1.Columns(i)
Next
End Sub

Private Sub Form_Activate()
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Password="";Data Source=E:\djda.mdb;Persist Security Info=flase"
Adodc1.RecordSource = "select * from tddjtz"
Set DataGrid1.DataSource = Adodc1
End Sub
说明 :text1数组空间的个数是0到14,datagrid有列数也是0到14.
个人感觉,应该是程序加载时顺序的问题,但不知道怎么改!谢

[ 本帖最后由 mingming2288 于 2014-6-3 22:10 编辑 ]
搜索更多相关主题的帖子: Text1 
2014-06-03 22:09
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
得分:20 
经验证,代码没问题,检查你的数据库字段吧。
2014-06-04 12:51
alike123
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:107
专家分:428
注 册:2014-2-10
得分:0 
text1数组空间的个数是0到14,datagrid有列数是1到14.
for i=1 to 14
就是这么改!谢

2014-06-04 12:57
mingming2288
Rank: 1
等 级:新手上路
帖 子:8
专家分:5
注 册:2014-6-3
得分:0 
2楼,可否详细说一下,和数据里的字段有什么关系?数组控件和数据中的字段是一样的。
3楼,你确定?
2014-06-04 16:09
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
得分:0 
datagrid也是从0列开始计的。
如果是datagrid下标越界,可以确定是datagrid列数少于text控件数组数,你可以反过来写,用datagrid的列数来循环,代码如下:
Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
   For i = 0 To DataGrid1.Columns.Count - 1
     Text1(i) = DataGrid1.Columns(i)
   Next
End Sub
2014-06-04 17:45
mingming2288
Rank: 1
等 级:新手上路
帖 子:8
专家分:5
注 册:2014-6-3
得分:0 
问题已经按xzlxzlxzl解决了,谢谢!
原来换个思路,初学者,谢谢帮助
2014-06-04 20:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-432436-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.271343 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved