假設我有多個表分佈在不同的Access數據庫文件(* .mdb)中,我想將它與「連接」子句結合到一個數據集中。我現在看到的唯一解決方案是在Access數據庫中創建鏈接表,除非有人知道更好和更乾淨的解決方案。訪問ODBC:在不同數據庫文件中的表之間加入連接
我試過的東西是例如創建一個像SELECT * FROM tbl_a1 INNER JOIN [file_name].tbl_b1 ON [file_name].tbl_b1.pk=tbl_a1.fk WHERE 1
這樣的SQL語句,其中不支持「file_name」。
所以我創建了一個使用Microsoft Access的鏈接表,它可以很好地與SELECT * FROM tbl_a1 INNER JOIN tbl_b1 ON tbl_b1.pk=tbl_a1.fk WHERE 1
一起工作。
我期望看到以編程方式創建它的解決方案,因爲「機器B」可能沒有安裝Access,並且預定義的數據庫文件尚未包含鏈接表。這些表格也不一定是永久的。 Microsoft有一個documentation如何僅使用Microsoft Access創建鏈接表,但它不會告訴我如何以編程方式執行此操作。
注意:我使用RAD 10 Seattle/VCL C++ Builder和UniDac通過ODBC驅動程序進行數據庫連接,所以VBA不是一個選項。
解決方案:在我的情況下,我不得不爲第二個表SELECT * FROM tbl_a1 INNER JOIN [C:\path\db.mdb].tbl_b1 AS tbl_b1 ON tbl_b1.pk = tbl_a1.fk WHERE 1
設置一個表別名,以使其工作。感謝@Gord Thompson
歡迎來到SO,請提出一個更具體的問題:你有什麼試過,你期望什麼等。請參閱[如何問](http://stackoverflow.com/help/how-問) – Nehal
你可以鏈接在一個'輸出'彙總表中的表在一些MDB,然後將您的應用程序連接到這個表 – SalientBrain
你好@Nehal,我試過的東西是fe創建一個SQL語句,如'SELECT * FROM tbl-a1 INNER JOIN [file_name] .tbl-b1 ON [file_name] .tbl-b1.pk = tbl-a1.fk WHERE 1'其中不支持「file_name」。所以我創建了一個使用Microsoft Access的鏈接表,它可以很好的使用'SELECT * FROM tbl-a1 INNER JOIN tbl-b1 ON tbl-b1.pk = tbl-a1.fk WHERE 1'。我期望看到以編程方式創建它的解決方案,因爲「機器B」可能沒有安裝Access,並且預定義的數據庫文件尚未包含鏈接表。這些表格也不一定是永久的。 –