是否保存更改附加到列表框的 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
不过,我从未真正在仅用作行源的记录集上遇到过错误,但我还没有真正尝试过,因为我倾向于总是使用克隆。
我需要使用附加到 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
不过,我从未真正在仅用作行源的记录集上遇到过错误,但我还没有真正尝试过,因为我倾向于总是使用克隆。