Sql ADODB与双access数据库的连接

Sql ADODB与双access数据库的连接,sql,excel,vba,ms-access,adodb,Sql,Excel,Vba,Ms Access,Adodb,由于ms access 2GB空间限制; 我正在考虑将一个数据库一分为二 但是,我经常依赖SQL语句,例如: INSERT INTO [...] SELECT [...] ADODB中是否有执行上述操作的方法,即插入到文件1中的表中, 从文件2中的表中选择数据?使用OpenDatabase,而不是将数据库设置为CurrentDB eg. set DB = opendatabase("fkdslfjslj") 使用OpenDatabase,而不是将数据库设置为CurrentDB eg.

由于ms access 2GB空间限制; 我正在考虑将一个数据库一分为二

但是,我经常依赖SQL语句,例如:

INSERT INTO [...] SELECT [...]
ADODB中是否有执行上述操作的方法,即插入到文件1中的表中,
从文件2中的表中选择数据?

使用OpenDatabase,而不是将数据库设置为CurrentDB

eg.
    set DB = opendatabase("fkdslfjslj")

使用OpenDatabase,而不是将数据库设置为CurrentDB

eg.
    set DB = opendatabase("fkdslfjslj")

下面是使用VBA和ADO从一个accdb更新另一个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

下面是使用VBA和ADO从一个accdb更新另一个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

但是,如果您“拆分”数据库,则会将表链接到另一个数据库,因此您只需按照正常方式引用(链接的)表。两个后端文件之间的表链接将是一个更整洁的解决方案。也许你可以把这个建议添加到你的答案中?@GordThompson我在发帖后意识到他在谈论“拆分”,所以我添加了关于表链接的评论。但是,如果你“拆分”数据库,那么你将把表链接到另一个数据库,所以你只需参考(链接的)表即可两个后端文件之间的表链接将是一个更整洁的解决方案。也许你可以把这个建议添加到你的答案?“Gordthppson我在发布了他正在谈论的“S拆股”之后意识到,所以我添加了关于表链接的评论。也许是时候考虑一个更好的RDMS了?也许是SQLServer Express?也许是时候考虑一个更好的RDMS了?也许是SQL Server Express?谢谢Rory!!它可以完美地处理一个字段,但当我添加更多字段时,会出现一个运行时错误:查询表达式中的语法错误(逗号)。我的声明:“插入临时费用(帐户、交易日期、说明)中,从[MS Access;数据库=“&sDatabase2&“;]中选择(帐户、交易日期、说明)。临时费用”谢谢罗瑞!!它可以完美地处理一个字段,但当我添加更多字段时,会出现一个运行时错误:查询表达式中的语法错误(逗号)。我的声明:“插入临时费用(帐户、交易日期、说明)中,从[MS Access;DATABASE=“&sDatabase2&;”]中选择(帐户、交易日期、说明)。临时费用”