ACCESS與外部其它資料互動 – IN 子句 -串連外部資料庫

來源:互聯網
上載者:User

ACCESS做為MS Office 辦公套件中的一個應用程式,經常需要來其它資料來源進行資料互動,比如在查詢中使用在EXCEL中的資料或文本記錄檔案中的資料,或者倒出查詢結果到EXCEL的資料表中或其它格式的資料檔案中。 除了常用的倒入/倒出功能外,還可以通過JET-SQL的 IN 子句來靈活實現。

 

外部資料庫
可以是一個駐留在遠程伺服器上的 ODBC 資料庫(如 Microsoft SQL Server),或是外部資料庫之一,如 Paradox、dBASE、Microsoft FoxPro、Microsoft Excel、Microsoft Access、Lotus 1-2-3、HTML 和 Text。

 

下面首先看一下 Microsoft Jet SQL 參考中關於 IN 子句的介紹。

 

IN 子句

標識出外部資料庫中的表,例如dBASE或Paradox資料庫,或Microsoft Jet外部資料庫,Microsoft Jet資料庫引擎能夠與之相連。

文法

標識目標表:

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

標識資料來源表:

FROM tableexpression IN
    {path | ["path" "type"] | ["" [type; DATABASE =
path]]}

包含 IN 子句的SELECT 語句具有以下幾個部分:

部分 說明
destination 外部表格的名稱,將資料插入表中。
tableexpression 表的名稱,可從這些表中擷取資料。這個變數可能是一個單獨的表名,一個已存查詢,或是 INNER JOIN, LEFT JOIN, 或 RIGHT JOIN.
Path 目錄或檔案的整個路徑,而且這些目錄或檔案包含 table
type 資料庫類型的名稱,如果資料庫不是 Microsoft Jet 資料庫(例如 dBASE III、dBASE IV、Paradox 3.x或Paradox 4.x),則用此類型建立 table
說明

通過 IN 你一次只可以串連一個外部資料庫

在某些情況中,path 參數可引用包含資料庫檔案的目錄。例如,當使用 dBASE、FoxPro或 Paradox 資料庫表時,path 參數將指定包含 .dbf 或 .db 檔案的目錄。由
destination tableexpression 參數可得到表檔案的名稱。

為了指定非 Microsoft JET 資料庫,可在名稱之後附加分號 (;),並用單引號 (' ') 或 (" ") 雙引號將它括入。例如可用 'dBASE IV;' 或 "dBASE IV;"這兩種寫法。

也可使用 DATABASE 保留字指定外部資料庫。例如,以下樣本指定相同的表:

... FROM Table IN "" [dBASE IV; DATABASE=C:/DBASE/DATA/SALES;];

... FROM Table IN "C:/DBASE/DATA/SALES" "dBASE IV;"

 

注意

為改進效能並方便使用,請使用連結資料表而不要用 IN。

在運算式中也可用 IN 保留字作為比較操作符。欲知更多資訊,請看 In 操作符.

 

 

 

IN 子句樣本

下列表顯示您如何使用 IN 子句來捕獲外部資料庫的資料。在每一樣本之中,假設客戶表是儲存在外部資料庫之中。

外部資料庫 SQL 陳述式
Microsoft Jet 資料庫 SELECT CustomerID
FROM Customers
IN OtherDB.mdb
WHERE CustomerID Like "A*";
dBASE III 或 IV.
捕獲資料由 一 dBASE III 表,以 "dBASE III;" 替代 "dBASE IV;"。
SELECT CustomerID
FROM Customer
IN "C:/DBASE/DATA/SALES" "dBASE IV;"
WHERE CustomerID Like "A*";
dBASE III 或 IV 使用資料庫文法。 SELECT CustomerID
FROM Customer
IN "" [dBASE IV; Database=C:/DBASE/DATA/SALES;]
WHERE CustomerID Like "A*";
Paradox 3.x 或 4.x.
若要由一Paradox version 3.x 表捕獲資料,以 "Paradox 3.x;" 替代 "Paradox 4.x;"。
SELECT CustomerID
FROM Customer
IN "C:/PARADOX/DATA/SALES" "Paradox 4.x;"
WHERE CustomerID Like "A*";
Paradox 3.x 或 4.x 使用資料庫文法. SELECT CustomerID
FROM Customer
IN "" [Paradox 4.x;Database=C:/PARADOX/DATA/SALES;]
WHERE CustomerID Like "A*";
Microsoft EXCEL工作表 SELECT CustomerID, CompanyName
FROM [Customers$]
IN "c:/documents/xldata.xls" "EXCEL 5.0;"
WHERE CustomerID Like "A*"
ORDER BY CustomerID;
在工作表之中的一個命名範圍 SELECT CustomerID, CompanyName
FROM CustomersRange
IN "c:/documents/xldata.xls" "EXCEL 5.0;"
WHERE CustomerID Like "A*"
ORDER BY CustomerID;

 

 

以上摘自 Microsoft Jet SQL 參考

 

JET 的類型為ISAM註冊表中記錄的所有類型。

 

例子:

 

文字檔  [Text;DATABASE=文字檔路徑].[文字檔名稱] 

 

select * from  [Text;DATABASE=c:/temp].[test.txt]

 

 

EXCEL  [Excel 8.0;Database=fullFileName].[SheetName]

            [Excel 8.0;Database=fullFileName].[SheetName$A1:B10]

            [Excel 8.0;Database=fullFileName].[Name]

 

SELECT * INTO [Excel 8.0;Database=c:/book1.xls].[Sheet1] FROM Customers
SELECT * INTO [Sheet1] IN '' [Excel 8.0;Database=c:/book1.xls] FROM Customers
SELECT * INTO [Sheet1] IN 'c:/book1.xls' 'Excel 8.0;' FROM Customers"
INSERT INTO [Sheet1$] IN '' [Excel 8.0;Database=c:/book1.xls] SELECT * FROM Customers
INSERT INTO [Sheet1$] IN 'c:/book1.xls' 'Excel 8.0;' SELECT * FROM Customers

select * from [Excel 8.0;Database=c:/info.XLS].[sheet1$A1:B5]

select * from  [Excel 8.0;HDR=Yes;IMEX=1;Database=c:/info.XLS].[Sheet1$C5:B10]

 

select * from [C:/temp/access/db1.mdb].SC

select * from [;pwd=123;database=C:/temp/access/db1.mdb].SC

 

SELECT * FROM table IN ODBC[ODBC;Driver={Microsoft ODBC for Oracle};Server=XE;Uid=SYSTEM;PWD=123;];

SELECT * FROM [ODBC;Driver=SQL Server;Server=servername;DataBase=dbname;UID=sa;PWD=123].table1

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.