Ms access 循环记录集并添加到字典/集合:项键存在

Ms access 循环记录集并添加到字典/集合:项键存在,ms-access,vba,Ms Access,Vba,首先是vba/access项目,出于某种原因,我似乎无法通过循环将项目添加到集合或字典: Dim current_stock As Scripting.Dictionary Set current_stock = New Scripting.Dictionary current_stocks_sql = "SELECT id, size,stock FROM bags" Set rs = db.OpenRecordset(current_stocks_sql) ' O

首先是vba/access项目,出于某种原因,我似乎无法通过循环将项目添加到集合或字典:

     Dim current_stock As Scripting.Dictionary

     Set current_stock = New Scripting.Dictionary

current_stocks_sql = "SELECT id, size,stock FROM bags"

 Set rs = db.OpenRecordset(current_stocks_sql)
' On Error Resume Next
 Do While Not rs.EOF
 current_stock.add rs!id, rs!stock
 MsgBox rs!id ' gives 1,2,3 correctly
 rs.MoveNext

 Loop
 'On Error GoTo 0

 rs.Close

当到达id 2时,它给出错误项key已经存在。

字典。Add
允许您将对象存储为key

Dictionary.addrs!身份证,rs!stock
不会向字典中添加两个值,而是添加两个字段对象,即ID字段和stock字段

在移动到下一条记录后,字段对象仍然是相同的,因此您会得到一个项目键已存在的错误

添加值而不是字段对象:

current_stock.add rs!id.Value, rs!stock.Value