Office中国论坛/Access中国论坛

标题: 如何用代码复制表的空白副本 [打印本页]

作者: qlm    时间: 2006-9-28 08:05
标题: 如何用代码复制表的空白副本
虚心求教:

我需要把数据库中的A表复制为名叫B的表,A表原来是有数据的,

要求复制出来的B表是空白的(不能用删除的方法),请问用VBA如何实现?


作者: 一点通    时间: 2006-9-28 16:43
假如不会写VBA的话,可以用生成表查询的方法来创建一个空白表,只要在ID准则中写入不可能出现的编号就行了
作者: andymark    时间: 2006-9-28 19:09
也可以通过TransferDatabase只导入或导出数据库表的结构 来实现
作者: fan0217    时间: 2006-9-28 19:36
以下是引用一点通在2006-9-28 8:43:00的发言:
假如不会写VBA的话,可以用生成表查询的方法来创建一个空白表,只要在ID准则中写入不可能出现的编号就行了





这是个好 简单的好办法,对于自动编号来说,不出现的数字应该是0 。
作者: sgrshh29    时间: 2006-9-28 19:46
以下是引用一点通在2006-9-28 8:43:00的发言:
假如不会写VBA的话,可以用生成表查询的方法来创建一个空白表,只要在ID准则中写入不可能出现的编号就行了

最简单的方法就是这样的查询了。select * into b from a where 1<>1;
作者: qlm    时间: 2006-9-28 20:27
噢,我忘了有个生成表查询,原来可以这样用,谢谢大家。
作者: hi-wzj    时间: 2006-9-28 21:08
导入表的方法法才是正解,单纯做生成表查询,将丢失很多的表字段的属性,比如格式属性掩码属性等等。

[此贴子已经被作者于2006-9-28 13:09:13编辑过]


作者: sgrshh29    时间: 2006-9-28 21:23
以下是引用hi-wzj在2006-9-28 13:08:00的发言:
导入表的方法法才是正解,单纯做生成表查询,将丢失很多的表字段的属性,比如格式属性掩码属性等等。

支持,有道理。
作者: qlm    时间: 2006-9-29 02:47
以下是引用hi-wzj在2006-9-28 13:08:00的发言:
导入表的方法法才是正解,单纯做生成表查询,将丢失很多的表字段的属性,比如格式属性掩码属性等等。



谢谢提醒,但请问

用VBA代码如何导入表。
作者: 青青    时间: 2006-9-29 03:29
DoCmd.TransferDatabase acImport, "Microsoft Access", CurrentProject.Path & CurrentProject.Name, acTable, "来源表的名称", "目标表的名称", True

作者: 一点通    时间: 2006-9-29 04:48
以下是引用hi-wzj在2006-9-28 13:08:00的发言:
导入表的方法法才是正解,单纯做生成表查询,将丢失很多的表字段的属性,比如格式属性掩码属性等等。

确实会存在这样的问题
作者: qlm    时间: 2006-9-29 07:16
以下是引用青青在2006-9-28 19:29:00的发言:
DoCmd.TransferDatabase acImport, "Microsoft Access", CurrentProject.Path & CurrentProject.Name, acTable, "来源表的名称", "目标表的名称", True

试过了,虽然能生成目标表结构如:表B,但是当第二次运行,会生成:表B1,

怎样才能覆盖原来的表B呢?

另外,如果数据库文件在长文件夹目录下时,会出现找不到数据库文件的错误。我

第一次试时就出现这种情况,后来把数据库文件移到根目录下,成功了。

如果数据库文件在长目录名下,该怎么办?


作者: 静儿    时间: 2006-9-30 20:43
1、运行前先做删除表的查询呀。

2、长文件夹问题是在目录前后加引号。

比如:"C:\Documents and Settings\All Users\Documents\abc.mdb"




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3