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
posted @ 2018-04-02 10:21  ysextend  阅读(421)  评论(0编辑  收藏  举报