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數據庫跨庫查詢及記錄集區分