sql - 在 Access 中,如何在本地 Access 表中快速合并两个链接表(最初来自 SQL Server 的视图)
问题描述
我有一个 .accdb 访问文件和 2 个 SQL Server 数据库,每个数据库有 12 个视图。从一个 SQLServer 数据库到另一个数据库,视图的名称和结构是相同的。前 12 个视图已经在表中的 Acces 文件中链接,这些表稍后在 VBA 代码中与请求一起使用。
我想将来自第二个数据库的 12 个视图的内容添加到 12 个第一个视图的内容中,并像以前一样继续使用请求。
数据库服务器:
db1:表1,表2,表3,表4,...表12;
db2: table1, table2, table3, table4, ... table12(与 db1 中的表相同的名称和结构)
访问文件:
链接到 db1 的 table1,链接到 db1 的 table2,....链接到 db1 的 table12 链接到 db2 的 table1,链接到 db2 的 table2,....链接到 db2 的 table12 目标是能够使用db1中12个视图的合并内容,和db2中的12个视图在请求后的内容,就像现在一样
解决方案
好吧,然后简单地链接所有 12 个表。
然后假设你有一个相同结构的本地表?然后您可以像这样运行附加查询:
Dim strFromTable As String
Dim strToTable As String
Dim i As Integer
Dim strSQL As String
strFromTable = "dbo_tblData" ' our 1 - 12 tables
strToTable = "tblLocalTable"
For i = 1 To 12
strSQL = "INSERT INTO " & strToTable & _
" SELECT * FROM " & strFromTable & i
Debug.Print "appending table " & strFromTable
CurrentDb.Execute strSQL, dbFailOnError
Next i
现在上面假设 12 个链接表被命名为 dbo_tblData1,然后是 dbo_tblData2 等等。
如果您没有这样的命名约定,那么您可以更改上面的代码以使用您提供的不同表名。
您也可以考虑编写代码来动态创建“链接”表,但一次链接 12 个表可能同样容易,然后上面的方法就可以工作了。
上面当然将所有 12 个表拉到 Access 中的一个表中。您当然可以修改上述内容以将每个表“从”拉到本地表中。
例如这个:
strSQL = "INSERT INTO " & strToTable & i & _
" SELECT * FROM " & strFromTable & i
推荐阅读
- java - 插入 SQLite 数据库 - Android
- javascript - MongoDB和Javascript我如何访问对象数组并匹配特定键
- powerbi - SQL 标量函数值转换为 power bi 表
- python - 两个时间值之间的 pandas 数据帧中的行
- javascript - 如何修复无参数重新分配
- makefile - Makefile 不会在函数定义中的“ifeq”语句中分配变量值
- angular - 用于在页脚中显示总数并抛出奇怪数字的功能。如何解决这个问题?
- r - 如何使用 R 将 JSON 转换为 xlsx 文件
- python - 如何在我的不和谐服务器中获取消息作者的时区?(discord.py)
- amazon-web-services - 在“aws cloudformation delete-stack”中指定区域