| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 470 人关注过本帖
标题:求助! 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
快速回复:求助! datagrid 下标越界!
数据加载中...
 
   



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

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