Access交流中心

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

从不同数据库拷贝数据问题

wlh  发表于:2013-11-20 11:48:33  
复制

现有数据A、B,表C,D,假设C为A的表,D为B的表,A、B的路径为“D:\”,且A、B结构一致,在A库中操作。

求指教vba代码:

从B库中拷贝部分满足条件的数据到A库中。


谢谢

 

Top
zhaoyoulong 发表于:2013-11-20 12:56:12

DoCmd.CopyObject 

在 Visual Basic 中,CopyObject 方法执行 CopyObject 操作。

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

expression      必需。返回“应用于”列表中的一个对象的表达式。

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"



叶海峰 发表于:2013-11-20 13:32:23

在数据库B里面建一个查询  INSERT INTO [;daabase=d:\a.mdb;pwd=密码].表名 SELECT * FROM 表名 Where id>1000

或者在A库里面建一个查询 INSERT INTO 表名 Select * From [;daabase=d:\B.mdb;pwd=密码].表名 Where id>1000



wlh 发表于:2013-11-20 15:05:49
谢谢!非常好

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