| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 730 人关注过本帖
标题:问题请教,为什么我的程序不循环呢?初学
只看楼主 加入收藏
dg97112c
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-7-11
收藏
 问题点数:0 回复次数:7 
问题请教,为什么我的程序不循环呢?初学
我在FORM1中建了16个combo1.有一个access数据库。字段有16个与之对应,有数据记录。

我想在程序运行时,自动将数据库各字段的记录读到combo1各个下拉列表框中。写了以下程序。但是运行这个程序只有combo1(0)下才读出了记录。其他的都读不出,表示程序没有循环吧。帮我检查下为什么不对呢。我昨天写出来都能读,但今天写出来就不对,还是我写得不对哦。

代码:
Private Sub Form_Load()
'列表框初始化

For c = 0 To Adodc2.Recordset.Fields.Count
For b = 0 To Adodc2.Recordset.RecordCount
If Adodc2.Recordset.EOF = 0 Then

Combo1(c).AddItem Adodc2.Recordset.Fields(c)
Adodc2.Recordset.MoveNext

End If
Next b
Next c
End Sub

谢谢!
搜索更多相关主题的帖子: 初学 
2008-07-11 11:03
dg97112c
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-7-11
收藏
得分:0 
jxyga111:

     我改成Count-1还是不行呢
2008-07-14 10:35
jxyga111
Rank: 8Rank: 8
来 自:中華人民共和國
等 级:贵宾
威 望:33
帖 子:6015
专家分:895
注 册:2008-3-21
收藏
得分:0 
你这是记录集字段循环而不是COM控件循环
For c = 0 To Adodc2.Recordset.Fields.Count
代码:
For c = 0 To 16
    combo1(c).Text = Text2.Text
Next

烈焰照耀世界,斌凍凍千萬裏
2008-07-14 11:21
dg97112c
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-7-11
收藏
得分:0 
jxyga111:

  还是不对,我把For c = 0 To Adodc2.Recordset.Fields.Count
改成For c = 0 To 16
结果是一样的,数据库中第一个字段的记录集添加到了combo1(0)的下拉菜单中,但combo(?)其他控件的都没有加,表面最外层没有循环吧。数据库中有记录集的
2008-07-14 14:15
jxyga111
Rank: 8Rank: 8
来 自:中華人民共和國
等 级:贵宾
威 望:33
帖 子:6015
专家分:895
注 册:2008-3-21
收藏
得分:0 
for c=0to 16
这个是你那COMBO的控件有向多个,
你那数据库也要打啥

烈焰照耀世界,斌凍凍千萬裏
2008-07-14 14:58
dg97112c
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-7-11
收藏
得分:0 
哈哈,已经搞定了,再次感谢VB探讨群3的灬炸子骨︶ㄣ和砂之守鹤和楼上的jxyga111的帮组。

正确代码如下:
For c = 1 To Adodc2.Recordset.Fields.Count - 1
Combo1(c - 1).Text = ""
    For d = 0 To Adodc2.Recordset.RecordCount - 1

        If Adodc2.Recordset.EOF = 0 Then
        If Adodc2.Recordset.Fields(c).Value <> "" Then

        Combo1(c - 1).AddItem Adodc2.Recordset.Fields(c)
        Adodc2.Recordset.MoveNext
        End If
        End If
    Next d
Adodc2.Recordset.MoveFirst

Next c

不循环的原因在于没有把数据库记录游标指到开头。所以要加Adodc2.Recordset.MoveFirst这句。

If Adodc2.Recordset.Fields(c).Value <> "" Then这句是判断记录为空的情况。不然会出错。
2008-07-14 15:49
jxyga111
Rank: 8Rank: 8
来 自:中華人民共和國
等 级:贵宾
威 望:33
帖 子:6015
专家分:895
注 册:2008-3-21
收藏
得分:0 
你這是出錯,不是不循環,沒調試

烈焰照耀世界,斌凍凍千萬裏
2008-07-14 15:57
dg97112c
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2008-7-11
收藏
得分:0 
恩,明白了。
我没调试过,嘿
2008-07-15 17:10
快速回复:问题请教,为什么我的程序不循环呢?初学
数据加载中...
 
   



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

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