是否保存更改附加到列表框的 ADODB.Recordset 的光标位置?

Is it save to change the cursor position of an ADODB.Recordset that is attached to a ListBox?

我需要使用附加到 ListBox 的 Recordset 执行一些任务。对于前。循环搜索记录。

这样做有什么问题吗?


编辑 更好的是,我解释一下我想做什么:

Recordset 包含显示在 ListBox 中的记录列表。用户可以导航和 select 一个条目。 selected 记录将查询完整的详细信息,然后显示在表单中。

用户可以更改过滤器并重新加载 Recordset,结果 ListBox 包含不同的 Records。

现在我想遍历新加载的记录集,看看当前在表单中显示的记录是否仍在列表框中。

要遍历绑定记录集,您通常应该只克隆它们:

Dim rsClone As ADODB.Recordset
Set rsClone = MyListbox.Recordset.Clone(adLockReadOnly)
With rsClone
    If Not .EOF And .BOF Then .MoveFirst
    Do Until rs.EOF
        'Etc

不过,我从未真正在仅用作行源的记录集上遇到过错误,但我还没有真正尝试过,因为我倾向于总是使用克隆。