【发布时间】:2014-08-22 21:55:48
【问题描述】:
我的本地 PC 上有一个 Access 2007 数据库,网络上有另一个数据库。
本地:c:\mydatabase.accdb 网络:\server\share\publicdatabase.accdb
两个数据库都有两个相同的表,我们称它们为Table1 和Table2
我的过程涉及将数据从 PICK 数据库导出到分隔的文本文件,然后将其导入 Access。
目前,我更新本地数据库中的表,然后在 Access 中将表从本地数据库复制/粘贴到网络数据库。我希望通过 VBA 做到这一点。
我发现以下代码将用于网络数据库清除表然后“拉”更新,但我需要从我的电脑运行它以清除网络数据库表然后“推送”更新.
Dim AccessConn As New System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Test Files\database.mdb")
AccessConn.Open()
Dim AccessCommand As New System.Data.OleDb.OleDbCommand("DELETE * FROM [Catlog]", AccessConn)
AccessCommand.ExecuteNonQuery()
AccessCommand.CommandText = "INSERT INTO [Table1] SELECT * FROM [MS Access;DATABASE=C:\Test Files\database.mdb;].[Table1]"
AccessCommand.ExecuteNonQuery()
AccessConn.Close()
另外,如果不是太麻烦,我怎么能包括检查以首先确保网络数据库可以更新? (尚未被其他用户打开)
谢谢!!
编辑:到目前为止有效:
With Access.DoCmd
.RunSQL "Delete FROM Table1 IN '\\server\share\publicdatabase.accdb'"
.RunSQL "Insert INTO Table1 IN '\\server\share\publicdatabase.accdb' SELECT * FROM Table1"
End With
【问题讨论】: