我正在使用VBA使用表中的代码填充字典,所有这些代码都是唯一的。虽然当我尝试将它们添加到字典中时,我收到一个错误: '此密钥已与此集合的元素'
相关联我输入的一些代码示例是:
GSK611,GSK612,GSK612(但它们是DELETED00,ADMIN,HISTORY的奇数代码)
我使用的方法是:
Private Function RunContactQuery(query As String) As dictionary
On Error GoTo Catch
Dim ex As ErrEx
Dim dictionary As dictionary
Set dictionary = New dictionary
Dim rs As DAO.Recordset
Dim counter As Integer
Set rs = CurrentDb.OpenRecordset(query)
If Not (rs.EOF And rs.BOF) Then
rs.MoveFirst
counter = 1
Do Until rs.EOF = True
dictionary.Add rs.Fields(0), counter
counter = counter + 1
rs.MoveNext
Loop
End If
Set RunContactQuery = dictionary
Finally:
Exit Function
Catch:
ErrEx(Err, cmstrModule & ".RunContactQuery").Throw
Resume Finally
End Function
我在'dictionary.Add rs.Fields,counter'
收到错误所有这些都是独特的,因为我在即时窗口中得到了值。
感谢您的帮助。
答案 0 :(得分:1)
管理解决问题......它正在将一个对象存储到字段'Field2'中,我想要值,所以我改变了:
dictionary.Add rs.Fields(0), counter
到
dictionary.Add rs.Fields(0).value, counter
现在获得值