我是vb6的新手,因为我总是使用vb2010。我正在调试在vb6中运行的库存软件,但无法找到如何使用记录集填充datalist控件。
该软件使用此代码,它使用listbox ...
with rs
if .RecordCount then
.MoveLast
.MoveFirst
For Counter=1 to .RecordCount
Me.ListBox1.AddItem rs!ProductName
.MoveNext
Next
End If
.Close
End With
但软件数据库现在有数千种产品,程序加载数据的速度很慢 所以我试过了:
Using Datalist
With DataList1
Set .RowSource = rs
.ListField = "ProductName"
End With
我的代码运行时没有错误,但控件中不会显示任何数据。
任何人都可以为我解决这个问题。 提前谢谢你
答案 0 :(得分:0)
问题是MoveLast
调用,它只是为了填充RecordCount
而遍历整个记录集。请改用:
With rs
Do While Not rs.eof
Me.ListBox1.AddItem rs!ProductName
.MoveNext
Loop
.Close
End With
此代码将通过删除不必要的记录集遍历来加速您的调用,但在列表框中有数千个项目是一个设计/可用性问题,加速负载将无法解决。