2012-06-27 97 views
0

我遇到了一些使用dBase IV的傳統後端,並希望能夠使用Access前端將記錄從一個表複製到另一個表。簡單的答案是鏈接到源表和目標表,並運行INSERT查詢或類似的查詢。使用Access複製到/從Dbase數據

但是,在我的情況下,後端不是一個DBF文件,但有幾百個文件需要動態鏈接到複製操作。目前,我必須在每次希望執行復制操作時使用TableDefs屬性(在VBA中)更改和刷新鏈接定義。

catch是前端是共享的,這意味着每個用戶必須有一個單獨的FE副本,以便鏈接表定義不會被其他用戶修改。

我想知道有沒有簡單的方法來做到這一點,而不使用鏈接表?我可以打開到源和目標的DAO連接,但找不到任何複製記錄的簡單方法(每次除外)。有沒有反正呢?

+0

如何ADO(「供應商= Microsoft.Jet.OLEDB .4.0;數據源= e:\ My Documents \ dBase;擴展屬性= dBase III「)? – Fionnuala

+0

那麼我現在這樣做,無論是在我的鏈接表連接字符串和VBA中。我遇到的問題是將一個Dbase表的所有查詢結果複製到另一個數據庫中的另一個表中。 – nicholas

回答

2

有可能使用鏈接DBF是插入到另一處的DBF運行一個查詢:

INSERT INTO [dBASE III;DATABASE=z:\docs\].[dbf2.dbf] 
SELECT * 
FROM dbf1; 

或者

INSERT INTO dbf1 
SELECT * 
FROM [dBASE III;DATABASE=z:\docs\].[dbf2.dbf]; 
+0

讓我試試看。 FROM語句中是否也可以使用相同的語法? – nicholas

+0

或多或少,請參閱上文。 – Fionnuala

+0

令人驚歎。您也可以在同一查詢的INSERT INTO和FROM子句中使用[dbase III ...]語法。請注意,表名中的.dbf擴展名是可選的。太好了,謝謝。 – nicholas

相關問題