设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 4771|回复: 8
打印 上一主题 下一主题

请教临时表的问题

[复制链接]
跳转到指定楼层
1#
发表于 2006-6-8 19:01:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在做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的结束而消失。

可能的话,请给出示例代码,越详细越好

不用感激
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2006-6-10 04:48:00 | 只看该作者
  用VBA方式创建的临时表,只在ADP中有效,如果你不删除它,把这个ADP关了这个表就没了,即它随这个ADP的关闭而结束。具体来说吧.你在一个ADP中的一个模块建了一个临时表,在另一个模块中建立同样的表时,就可会提示表已存在.但只要你建立了这个表,在ADP的任何地方都可以调用."表二的生存期使得其可被模块中的不同进程所调用,随模块的结束而结束"这是不可能的。
3#
 楼主| 发表于 2006-6-13 01:10:00 | 只看该作者
谢谢楼上的,但如果在adp中建了临时表后,adp非正常退出呢?比如程序出错,中止,那建的临时表在下一次adp进入时或其他adp进入时还在不在?

点击这里给我发消息

4#
发表于 2006-6-15 19:07:00 | 只看该作者
“#”开头的临时表称为临时表,它的生命周期为一个T-SQL批处理,当批处理结束时,它会被自动删除。

“##”开头的临时表称为永久临时表,它的生命周期为SQL Server实例的生命周期,当SQL Server实例服务停止或手工显式用“Drop”命令删除时,它才会被删除。

[此贴子已经被作者于2006-6-15 11:08:22编辑过]

5#
发表于 2006-6-15 19:25:00 | 只看该作者
楼上说得对
6#
发表于 2006-6-19 21:21:00 | 只看该作者
在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编辑过]

7#
发表于 2006-6-20 21:01:00 | 只看该作者
CurrentProject.Connection.execute "create table #(字段1,varchar(10))"
8#
发表于 2006-6-21 23:54:00 | 只看该作者
好的谢谢了
9#
发表于 2007-5-13 11:38:00 | 只看该作者
学习学习学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-6-2 18:59 , Processed in 0.098955 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表