2013-11-27 2 views
1

VBA를 사용하여 테이블의 코드로 사전을 채우는 경우이 코드는 모두 고유합니다. 나는 사전에 추가하려고 할 때이 오류가 발생했지만 :사전에 오류가 발생 함 채우기

GSK611 :

난에 입력하고있어 코드의 몇 가지 예는 '이 키가 이미이 컬렉션의 요소와 연관된'

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, 카운터'에 오류가 : GSK612, GSK612는

내가 사용하는 방법이다 (그러나 DELETED00, ADMIN, 역사와 이상한 코드들이 있습니다)

이 모든 것은 즉 치 창에 값이있는 경우에도 고유합니다.

도움 주셔서 감사합니다.

답변

1

그것은 필드 '필드 2'에 객체를 저장했다 ... 문제를 해결하기 위해 관리 및 I가 변경 그래서 내가 값을 원 :

dictionary.Add rs.Fields(0), counter 

그것은 지금 얻을

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

에 값

관련 문제