我的本地 PC 上有一个 Access 2007 数据库,网络上有另一个数据库。
本地:c:\mydatabase.accdb 网络:\server\share\publicdatabase.accdb
两个数据库都有 2 个相同的表,我们称它们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