我有一个用于存储ID的表单中的全局集合对象。
Dim newCollection As New Collection
当用户点击btn时
Private Sub btn_Click()
Dim key As Variant
newCollection.ADD Me.ID, CStr(ID)
For Each key In newCollection
Debug.Print key
Next key
End Sub
当用户在表单中的ID为1并按下上面的按钮时,我会在我的即时窗口中返回预期的1
但是,当用户移动到表单中的另一个记录时,请使用表单导航按钮从ID 1到2
由于某种原因,Debug.Print key
返回
2
2
而不是预期的
1
2
由于某种原因,密钥不会被覆盖,但值是。我的意思是
在我的直接控制台上:
?newCollection(1)
返回2
和
?newCollection(2)
也返回2
我不知道为什么会这样
改变这个......
newCollection.ADD Me.ID, CStr(ID)
对...
newCollection.ADD Me.ID.Value, CStr(ID)
在第一种情况下,您要添加一个字段对象。因此,当你以后Debug.Print key
,你打印该字段的当前值。 (如果你暂时做Debug.Print TypeName(key)
,那可能会更有意义。)
您需要添加字段的值而不是字段本身。