我在Excel项目中有一个类模块,它有一个名为Marks
的属性,这是一个VB集合,并且有一个公共get属性(但没有set或let)。
我可以毫无问题地为此分配值:
myObject.Marks.Add 3.14159
然而,当我尝试用这个对象做某事时(例如,迭代它),我得到一个错误:
3021: Either BOF or EOF is true or the current record has been deleted
但是,如果我尝试myObject.Marks.Count
,它会显示该集合包含我期望的数据量...我无法访问它!
我真的不明白为什么。我在对象中使用与其他集合属性相同的进程 - 甚至是集合的集合 - 并且它们工作正常。
有什么想法吗?
答案 0 :(得分:0)
myObject.myCollection.Add recordset!field
将记录集字段对象添加到myCollection
对象,而不是其值。因此,只需将字段转换为适当的类型即可解决问题。