ADODB连接到两个访问数据库

时间:2016-11-01 12:54:50

标签: sql excel-vba ms-access adodb vba

由于ms访问2GB空间限制; 我正在考虑将数据库分成两部分。

但是我经常依赖SQL语句,例如: INSERT INTO [...] SELECT [...]

ADODB中是否有办法执行上述操作,即文件1中的INSERT INTO表, 来自文件2中的表的SELECT数据?

非常感谢你的建议。

2 个答案:

答案 0 :(得分:3)

以下是使用VBA和ADO从另一个更新一个accdb的示例:

Sub AddDataFromAccessToAccess()
   Dim cn                As Object
   Dim sDatabase As String
   Dim sDatabase2 As String

   ' change these paths
   sDatabase = "C:\Database1.accdb"
   sDatabase2 = "C:\Database2.accdb"

   Set cn = CreateObject("ADODB.Connection")
   With cn
      .Provider = "Microsoft.ACE.OLEDB.12.0"
      .ConnectionString = "Data Source='" & sDatabase & "'"
      .Open
      ' change table and field names here
      .Execute "INSERT INTO Table1 ([Field1]) SELECT [Field2] FROM [MS Access;DATABASE=" & sDatabase2 & ";].[Table2]"
      .Close
   End With

End Sub

答案 1 :(得分:0)

不使用db设置为CurrentDB,而是使用OpenDatabase。

eg.
    set DB = opendatabase("fkdslfjslj")