很多人可能跟我一样,在程序中使用Collection类做大量数据的存储,因为他十分方便,操作简单。这种被称为集合对象的东西有的时候确实非常令人不解~
看下面这段代码(其中c为一个Collection对象,rec为一个以打开的Recordset):
c.Add rec("Name")
发现问题了吗?没有?哦~我开始也没发现,但是当到了另一个事件:
a=c(1)
出错了……回到上面调试~没错~问题就出在前句~应该写成:
sTmp=rec("Name")
c.Add sTmp
由于Collection它会根据接受的数据改变其中的类型,在接受rec("Name")时,直接把他当作一个对象存入,但到了别的事件,由于rec已被销毁,故出错~因此要使用一个临时变量存下他的值才能存入Collection~