Access資料庫備份 |
尚未結案
|
sword185
一般會員 發表:36 回覆:81 積分:23 註冊:2002-06-05 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
sword185
一般會員 發表:36 回覆:81 積分:23 註冊:2002-06-05 發送簡訊給我 |
|
ddy
站務副站長 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
procedure TForm1.Button1Click(Sender: TObject); var dbs,DB,TB:Variant; begin db:=CreateOleObject('DAO.DBEngine.36'); //開啟目的資料庫 dbs := DB.Workspaces[0].OpenDatabase('D:\abc\DB\Dest.mdb', False, False, ';PWD=1234'); TB:=CreateOleObject('DAO.TableDef.36'); TB:=dbs.CreateTableDef('Ex'); //暫存用連結檔 //開啟來源資料庫 tb.connect:=';DataBase='+'D:\abc\DB\Sour.mdb'+';PWD=1234'; tb.SourceTableName := 'Base01'; //來源資料表 dbs.TableDefs.Append(tb); //建立連結 dbs.Execute('select * into D1 from Ex'); //從連結表寫入新增寫入資料表 dbs.Execute('drop table Ex'); //刪除連結 end;這一段,是如何在二個access mdb 傳送資料的方法 應該是你核心的問題 執行結果,資料庫Dest裡會多一個D1 資料表,從資料庫 Sour 的 Base01資料表而來,中間透過Ex 暫存table 傳遞 如果是要累增資料,則可參考下列語法 insert into Ex select * from Base01 剩下的部份,你只要再刪除來源的資料表即可 可將此段寫成function ,帶入參數會更方便使用 發表人 - ddy 於 2003/04/25 23:11:38 |
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
sword185
一般會員 發表:36 回覆:81 積分:23 註冊:2002-06-05 發送簡訊給我 |
|
ddy
站務副站長 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
|
sword185
一般會員 發表:36 回覆:81 積分:23 註冊:2002-06-05 發送簡訊給我 |
|
hagar
版主 發表:143 回覆:4056 積分:4445 註冊:2002-04-14 發送簡訊給我 |
|
sword185
一般會員 發表:36 回覆:81 積分:23 註冊:2002-06-05 發送簡訊給我 |
|
ddy
站務副站長 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
|
sword185
一般會員 發表:36 回覆:81 積分:23 註冊:2002-06-05 發送簡訊給我 |
|
sword185
一般會員 發表:36 回覆:81 積分:23 註冊:2002-06-05 發送簡訊給我 |
第一次使用 select * into D1 from Ex (將每次查詢結果建立新table,故已存在會出錯)
如果要覆蓋,每次執行前先drop 已存在的資料表D1即可
drop table D1
若資料表已存在,則使用
insert into Ex select * from Base01 (將每次查詢塞入table,故資料表不存在會出錯)
你可以預先建立資料表格式,使用後者的方式,可以讓資料一直累加
============================================================= 但是如何去判斷D1資料表是否存在???
|
ddy
站務副站長 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |