第一个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时,会给出错误项密钥已经存在。
答案 0 :(得分:4)
Dictionary.Add
允许您将对象存储为键。
Dictionary.Add rs!id, rs!stock
不会将两个值添加到字典中,而是两个字段对象,即ID字段和stock字段。
移至下一条记录后,字段对象仍然相同,因此您得到 Item键已经存在错误。
添加值而不是字段对象:
current_stock.add rs!id.Value, rs!stock.Value