# Re: 我这样写错了吗?

Posted by 战豪 on July 16, 1999 at 01:11:54:

In Reply to: 我这样写错了吗? posted by 新学友 on July 16, 1999 at 00:11:53:

: >我有一个程式,用一个ADO元件,ComboBox,和一个资料表(Table,mdb),资料表中
: >有两个栏位,甲和乙,共约有15笔记录
: >我想要在表单载入时(Form Load),将资料表中乙栏位中所有的值,加入到
: >ComboBox中写法如下:

: Private Sub Form_Load()
: For i = 0 To Adodc1.Recordset.RecordCount
: Combo1.AddItem Adodc1.Recordset("乙")
: Next i
: End Sub

: >但是执行之后的结果是"乙"栏位中的第一笔栏位重复了" i "次
: >到底是那里错了, 请各位前辈多多指教....Tks

这个程序在取用较少的资料录时不会太大分别!因回圈在每次For时都要统计一次Adodc1共有几笔所以建议增加一个存放资料笔数的变数;至于你的ComboBox中多余及重复资料项,其起因于"0"这基数和未有在Adodc1之资料间移动!!

Private Sub Form_Load()
Dim iNo as Integer '计算器,如估计大于3万笔,建议宣告为Long型别
With Adodc1 '简化程式存取物件时之动作
iNo = .Recordset.RecordCount '事先读取资料笔数
For i = 1 To iNo '由1开始回圈,至iNo数
Combo1.AddItem .Recordset("乙") '读取资料并向下加进ComboBox物件
.MoveNext '移到下一笔资料录
Next i
End With
End Sub

Follow Ups: