Office中国论坛/Access中国论坛
标题: 请教临时表的问题 [打印本页]
作者: rtmx01 时间: 2006-6-8 19:01
标题: 请教临时表的问题
在做adp+sqlserver中,常需用临时表,但这方面的资料及少,有谁能为在下指教.
1、临时表的生命期:
如下程序:
模块一:
sub aa
docmd.runsql "creat table #tt (a c,b c)
end sub
sub bb
.................................
end sub
请问以上aa代码段建的#tt表是否随aa的结序而自动消失,还是在bb内仍可调用,要等到退出整个adp后才消失。
如果模块一是个窗体模块又将如何?
有没有办法在vba中建不同的临时表,表一的生存期为当前sub进程,随sub进程结束面消失,
表二的生存期使得其可被模块中的不同进程所调用,随模块的结束而结束
表三能在模块退出(如窗体模块)后能能使用,仅随adp的结束而消失。
可能的话,请给出示例代码,越详细越好
不用感激
作者: zxy 时间: 2006-6-10 04:48
用VBA方式创建的临时表,只在ADP中有效,如果你不删除它,把这个ADP关了这个表就没了,即它随这个ADP的关闭而结束。具体来说吧.你在一个ADP中的一个模块建了一个临时表,在另一个模块中建立同样的表时,就可会提示表已存在.但只要你建立了这个表,在ADP的任何地方都可以调用."表二的生存期使得其可被模块中的不同进程所调用,随模块的结束而结束"这是不可能的。
作者: rtmx01 时间: 2006-6-13 01:10
谢谢楼上的,但如果在adp中建了临时表后,adp非正常退出呢?比如程序出错,中止,那建的临时表在下一次adp进入时或其他adp进入时还在不在?
作者: zhuyiwen 时间: 2006-6-15 19:07
“#”开头的临时表称为临时表,它的生命周期为一个T-SQL批处理,当批处理结束时,它会被自动删除。
“##”开头的临时表称为永久临时表,它的生命周期为SQL Server实例的生命周期,当SQL Server实例服务停止或手工显式用“Drop”命令删除时,它才会被删除。
[此贴子已经被作者于2006-6-15 11:08:22编辑过]
作者: tz-chf 时间: 2006-6-15 19:25
楼上说得对
作者: zhangxiyou 时间: 2006-6-19 21:21
在mdb中,我这样生成临时表:
On error resume next
CurrentDb.QueryDefs.Delete "TempAcc"
DoCmd.OpenQuery CurrentProject.Connection.CreateQueryDef("TempAcc", strDataSource).name
strTmp = ImportExportData("Excel", "TempAcc", 1) '输出到Excel 中
' strDataSource是一条查询语句
请问,在ADP中,该怎样改写?
谢谢!
[此贴子已经被作者于2006-6-19 13:28:47编辑过]
作者: wuaza 时间: 2006-6-20 21:01
CurrentProject.Connection.execute "create table #(字段1,varchar(10))"
作者: HAPPY缘泉 时间: 2006-6-21 23:54
好的谢谢了
作者: Sooloom 时间: 2007-5-13 11:38
学习学习学习
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |