Access数据库跨库查询及记录集区分

Posted ysextend

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Access数据库跨库查询及记录集区分相关的知识,希望对你有一定的参考价值。

  医疗设备软件一般都是单机软件,如果是Windows平台,常会选择Access数据库存储结构化数据,因为他轻量,便于部署。然而随着医疗信息化的发展,医生希望对多台单机设备的数据进行管理,采用网络数据库当然可以解决这个问题,但软件部署会变得比较麻烦,所以如果Access数据能支持跨库查询,那就完美了,可喜的是Access从2007版就已经支持该功能了,且查询速度还非常快。

  Access数据库跨库查询可使用“in 字句”,语法如下,可参见微软帮助手册:https://support.office.com/zh-cn/article/IN-%E5%AD%90%E5%8F%A5-3f9369a8-2032-4637-81af-699db411fbfa 

语法

[SELECT | INSERT] INTO destination IN
{path | ["path" "type"] | ["" [type; DATABASE = path]]}

 

示例

有两个数据库,表ys_user结果如下,希望按时间进行排序

 

id ys_name ys_date
1 张三 2018/1/1
2 李四 2018/1/3

d:\test1.mdb

 

id ys_name ys_date
1 王五 2018/1/1
2 麻六 2018/1/2

d:\test2.mdb

 

查询语句:

select id,ys_name,ys_date from ys_user in ‘d:\test1.mdb‘, select id,ys_name,ys_date from ys_user in ‘d:\test2.mdb‘ order by ys_date

查询结果:

 

id ys_name ys_date
1 张三 2018/1/1
1 王五 2018/1/1

2 麻六 2018/1/2
2 李四 2018/1/3

 

问题

记录集是查出来了,但修改记录集的时候如何知道该条记录是哪个库的呢?我们可以在查询语句中作文章,可以多加一个列

查询语句

select id,ys_name,ys_date, ‘d:\test1.mdb‘ as dbpath from ys_user in ‘d:\test1.mdb‘, select id,ys_name,ys_date, ‘d:\test2.mdb‘ as dbpath from ys_user in ‘d:\test2.mdb‘ order by ys_date

查询结果:

 

id ys_name ys_date dbpath
1 张三 2018/1/1 d:\test1.mdb
1 王五 2018/1/1

d:\test2.mdb
2 麻六 2018/1/2 d:\test2.mdb
2 李四 2018/1/3

d:\test1.mdb











以上是关于Access数据库跨库查询及记录集区分的主要内容,如果未能解决你的问题,请参考以下文章

为啥 ADO 记录集返回的记录比基础 Access 查询多

WHERE IN 在 Access VBA 中使用两个记录集进行查询

VBA(?):将 Microsoft Access 数据库记录到数据集(列出表/字段/带字段的查询)

如何从 Access 2010 中的 SQL 存储过程返回多个记录集

Excel用VBA连接Access数据库查询语句补充

为啥在 Access 中返回 835 条记录的查询会在 VBA 代码中返回一个空记录集?