填充字典导致错误

时间:2013-11-27 10:03:35

标签: vba dictionary

我正在使用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'

收到错误

所有这些都是独特的,因为我在即时窗口中得到了值。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

管理解决问题......它正在将一个对象存储到字段'Field2'中,我想要值,所以我改变了:

dictionary.Add rs.Fields(0), counter

dictionary.Add rs.Fields(0).value, counter

现在获得值