如果你在程序中使用了任何数据库对象(DAO,RDO,或者ADO),在退出程序之前,你必须确认已经关闭掉了所有已经打开的记录、数据库和数据工作台(recordsets,databases,andworkspaces)。虽然退出程序时这些对象的指针都被自动施放了,但是如果你自己又不能确认是否真正地释放了打开的数据库对象,那么就有可能数据库连接没有马上被释放掉,从而被这些对象所占用的内存就再也不能被操作系统再次分配。
—-下面有一段放在Form_Unload事件(或者其他退出模块中)中的一小段代码例子,它演示了关闭所有打开的DAO工作台、数据库和记录并释放了被这些对象占用的内存。当你退出FORM时,不论在有一个、100个甚至没有数据库连接时都可以使用下面代码。
PrivateSubForm_Unload(CancelAsInteger)
关闭数据库对象并且释放内存
OnErrorResumeNext
DimwsAsWorkspace
DimdbAsDatabase
DimrsAsRecordset
ForEachwsInWorkspaces
ForEachdbInws.Databases
ForEachrsIndb.Recordsets
rs.Close
Setrs=Nothing
Next
db.Close
Setdb=Nothing
Next
ws.Close
Setws=Nothing
Next
EndSub->