Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[求助]如何在释放rs资源的同时不关闭原窗体的结果集?

mosengren  发表于:2009-02-03 11:29:36  
复制

为了遍历窗体结果集中的记录

Dim rs As Object
Set rs = Forms("FORM").Recordset

 

处理完后释放资源

rs.Close
Set rs = Nothing

 

但不知为何窗体的结果集也同时关闭了

 

现在的问题:

如何能使空闲的资源释放,又不影响原窗体的结果集?

 

Top
sosopain 发表于:2009-02-03 16:32:27

Set rs = Forms("FORM").Recordset.clone

 

 

 



ACMAIN.CHM 发表于:2009-02-03 20:47:38

Set rs = Forms("FORM").Recordset

 

rs 和 Forms("FORM").Recordset 其实是指向同一个地址。就如同 向阳小学五二班,和向阳小学三楼第四个教室 是同一地址。

 

rs.close 等同于 Forms("FORM").Recordset.close

 

 

以下摘自 Microsoft Access 2003 Help

 

Set 语句

将对象引用赋给变量或属性。

 

通常,当使用 Set 将一个对象引用赋给变量时,并不是为该变量创建该对象的一份副本,而是创建该对象的一个引用。可以有多个对象变量引用同一个对象。因为这些变量只是该对象的引用,而不是对象的副本,因此对该对象的任何改动都会反应到所有引用该对象的变量。不过,如果在 Set 语句中使用 New 关键字,那么实际上就会新建一个该对象的实例。



常昊 发表于:2009-02-04 16:36:47

谢谢二位的解答

 

问题已经解决

 

=================================

Clone 方法

从现有 Recordset 对象创建一个相同的 Recordset 对象。可选择指定该副本为只读。

……

关闭原 Recordset 时并不关闭其副本,而关闭副本也不会关闭原 Recordset 或任何其他副本。


总记录:3篇  页次:1/1 9 1 :