如何在access中复制一张表?

luohualiushui 2003-10-17 10:47:11
包含表中的数据,以及其他的关联
我只是想改个表名
...全文
868 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
luohualiushui 2003-10-18
  • 打赏
  • 举报
回复

我已经用笨方法作了
先DoCmd.CopyObject, "Employees Copy", acTable, "Employees"
然后再用DAO库中的函数CreateRelation创建关系

谢谢大家
yoki 2003-10-18
  • 打赏
  • 举报
回复
可以先拷贝再改名
changechange 2003-10-18
  • 打赏
  • 举报
回复
请举一反三,在rename的帮助中已经提到了你所需要的功能


------------------
全部显示

CopyObject 方法
请参阅 应用于 示例 特性
在 Visual Basic 中,CopyObject 方法执行 CopyObject 操作。

expression.CopyObject(DestinationDatabase, NewName, SourceObjectType, SourceObjectName)

expression 必需。返回“Applies To”列表中的一个对象的表达式。

DestinationDatabase 可选 Variant 型。字符串表达式,代表对象复制到的目标数据库的有效路径和文件名。若要选择当前数据库,请将该参数留空。注意:在 Microsoft Access 项目 (.adp) 中,必须将 destinationdatabase 参数留空。如果在类库数据库中执行包含 CopyObject 方法的 Visual Basic 代码,并将该参数留空,Microsoft Access 会将对象复制到类库数据库中。

NewName 可选 Variant 型。字符串表达式,代表复制对象的新名称。若要使用相同的名称,请将该参数留空。

SourceObjectType 可选 AcObjectType。

AcObjectType 可以是下列 AcObjectType 常量之一:
acDataAccessPage
acDefault 默认
acDiagram
acForm
acFunction
acMacro
acModule
acQuery
acReport
acServerView
acStoredProcedure
acTable
注意 当在数据访问页中使用 CopyObject 方法时, “默认”数据库文件夹中将创建数据访问页的 HTML 文件副本,目标数据库中将创建指向副本的链接。


SourceObjectName 可选 Variant 型。字符串表达式,代表 sourceobjecttype 参数所选类型的对象的有效名称。如果在类库数据库中运行包含 CopyObject 方法的 Visual Basic 代码,Microsoft Access 会先在类库数据库中查找具有相同名称的对象,然后再在当前数据库中查找。

说明
有关该操作及其参数如何使用的详细信息,请参阅该操作的主题。

对于该方法,必须包含 destinationdatabase 或 newname 参数之一,或两者都包括。

如果将 sourceobjecttype 和 sourceobjectname 参数留空(对于 sourceobjecttype 参数将假设为默认常量 acDefault),Microsoft Access 将复制“数据库”窗口中的选定对象。若要选择“数据库”窗口中的对象,可以使用 SelectObject 操作或 SelectObject 方法,并将 In Database Window 参数设置为“是”(True)。

如果指定 sourceobjecttype 和 sourceobjectname 参数,但是将 newname 或 destinationdatabase 参数之一留空,则必须包含 newname 或 destinationdatabase 参数的逗号。如果将末尾的参数留空,那么在指定的最后一个参数后面不要使用逗号。

示例
下面的示例使用 CopyObject 方法将“雇员”表复制到当前数据库,并为其指定一个新的名称:

DoCmd.CopyObject, "Employees Copy", acTable, "Employees"
luohualiushui 2003-10-18
  • 打赏
  • 举报
回复
rename只是改了个表名
我原来的表还有用的,不能这么改
yoki 2003-10-18
  • 打赏
  • 举报
回复
Dim iDb As ADODB.Connection
Dim iConc As String

iConc = "Provider=SQLOLEDB.1;Persist Security Info=True;" & _
"User ID=用户名;Password=密码;Initial Catalog=数据库名;Data Source=SQL服务器名"
Set iDb = New ADODB.Connection
iDb.Execute "sp_rename '旧表','新表'"
changechange 2003-10-18
  • 打赏
  • 举报
回复
如果你在Access环境中你完全可以用

rename宏来完成,还可以用rename方法来完成

--------------------------------------------
全部显示

Rename 方法
参阅应用于示例特性在 Visual Basic 中,Rename 方法执行 Rename 操作。

expression.Rename(NewName, ObjectType, OldName)
expression 必需。返回 DoCmd 对象的表达式。

NewName Variant 型,必需。字符串表达式,代表要重新命名的对象的新名称。这个新名称必须符合 Microsoft Access 对象的对象命名规则。

ObjectType 可选 AcObjectType。要重命名的对象类型。

AcObjectType 可以是下列 AcObjectType 常量之一:
acDataAccessPage
acDefault 默认
acDiagram
acForm
acFunction
acMacro
acModule
acQuery
acReport
acServerView
acStoredProcedure
acTable

OldName Variant 型,可选。字符串表达式,代表由 ObjectType 参数指定的类型的有效对象名称。如果在某个类库数据库中执行包含 Rename 方法的 Visual Basic 代码,Microsoft Access 将首先在该类库数据库中搜索具有该名称的对象,然后再到当前数据库中搜索。

说明
有关该操作及其参数如何工作的详细信息,请参阅该操作的主题。

如果将 ObjectType 和 OldName 参数保留为空(为 ObjectType 假设默认常量 acDefault),Microsoft Access 将重新命名在“数据库”窗口中选定的对象。若要选择“数据库”窗口中的对象,可以使用 SelectObject 操作或 SelectObject 方法,并将 In Database Window 参数设为“是”(True)。

如果将 ObjectType 和 OldName 参数留空,则在 NewName 参数后面不要使用逗号。

示例
下面的示例对“Employees”表进行重命名。

DoCmd.Rename "Old Employees Table", acTable, "Employees"

---------------------------------------

全部显示

Rename 操作
使用 Rename 操作可以重新命名一个指定的数据库对象。

设置
Rename 操作具有以下参数:

操作参数 说明
新名称 数据库对象的新名称。请在“宏”窗口“操作参数”部分的“新名称”框中输入对象的名称。该参数是必需的。
对象类型 要重新命名的对象的类型。可选择“表”、“查询”、“窗体”、“报表”、“宏”、“模块”、“数据访问页”、“服务器视图”、“图表”、“存储过程”或“函数”。若要对“数据库”窗口中选定的对象重新命名,则请将本参数留空。
旧名称 要重命名的对象。在“旧名称”框中显示的是数据库中所有对应于“对象类型”参数所选类型的对象。如果“对象类型”参数为空,那么也要将本参数留空。
注释 如果在某个类库数据库中运行含有 Rename 操作的宏,Microsoft Access 将首先在该类库数据库中查找具有该名称的对象,然后再到当前数据库中查找。


说明
数据库对象的新名称必须遵循 Access 对象的标准命名规则。

不能对打开着的对象进行重命名。

如果将“对象类型”和“旧名称”参数留空,Access 会对在“数据库”窗口中选定的对象进行重新命名。若要在“数据库”窗口中选择对象,可使用 SelectObject 操作,并将其“在‘数据库’窗口中”参数设为“是”。

还有一种重新命名对象的方法,即先单击“数据库”窗口中的对象,然后再次单击该对象即可对其名称进行编辑,此时可键入新名称。用 Rename 操作就不需先在“数据库”窗口中选择对象,而且不用中止宏来输入对象的新名称。

该操作与 CopyObject 操作是不一样的,后者是以新名称创建已有对象的一个副本。

若要在 Visual Basic 中运行 Rename 操作,可使用 DoCmd 对象的 Rename 方法。
luohualiushui 2003-10-17
  • 打赏
  • 举报
回复
我要编程实现
sql和ado都可以用
但是不能用鼠标^_^
zhujing281 2003-10-17
  • 打赏
  • 举报
回复
在access中右键单击定的表选复制粘贴即可
qdubit 2003-10-17
  • 打赏
  • 举报
回复
sql语句这样实现:
select * into newtable from oldtable
luohualiushui 2003-10-17
  • 打赏
  • 举报
回复
…………
zjcxc 2003-10-17
  • 打赏
  • 举报
回复
不能实现.
luohualiushui 2003-10-17
  • 打赏
  • 举报
回复
这只能拷贝数据
我还要拷贝主健,外健,各种约束等等
zjcxc 2003-10-17
  • 打赏
  • 举报
回复
'例子:
Sub copytable()
Dim iDb As ADODB.Connection
Dim iConc As String

iConc = "Provider=SQLOLEDB.1;Persist Security Info=True;" & _
"User ID=用户名;Password=密码;Initial Catalog=数据库名;Data Source=SQL服务器名"
Set iDb = New ADODB.Connection
iDb.Execute "select * into 新表 from 旧表"
iDb.Close
msgbox "复制完成"
End Sub
zjcxc 2003-10-17
  • 打赏
  • 举报
回复
执行下面的SQL语句就行了.
select * into 表 from 旧表

7,712

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧