SELECT...INTO 語句
建立製表檢索.
文法
SELECT field1[, field2[, ...]]INTO新表[IN外部資料庫]
FROM源
SELECT...INTO 語句可分為以下幾個部分:部分 說明
field1, field2 欲複製至新表的欄位的名稱。
NewTable 欲建立的表的名稱。它應遵循標準命名公約.如果 NewTable 的名稱與現存表的名稱相同時,將會發生可以捕捉到的錯誤。
Externaldatabase 進入外部資料庫的路徑。有關路徑的描述,請參閱 IN 子句。
source 從其中選擇記錄的現存表的名稱。它可以是單一表或多重表或一個查詢。
查看:
http://www.aspxuexi.com/sql/sql/2006-4-8/select_insert.htm
(用SELECT複製記錄和表)
說明
可以使用產生資料表查詢來存檔記錄、產生表的複本備份、或產生輸出至另一個資料庫的表的副本、或用作定期顯示資料的報表的依據。例如,可以每月運行一次同樣的產生資料表查詢,產生地區的銷售月報。
注意
或許你想要為新表定義一個主鍵。建立新表時,新表中的欄位將繼承查詢基本表中每一個欄位的資料類型及大小,但不傳遞其他的欄位或表屬性。
使用 INSERT INTO 語句 而不用建立追加檢索來把資料加入當前表中。
在運行產生資料表查詢之前,若要知道會選擇哪些記錄,可以先看一看使用相同選擇條件的 SELECT 語句的結果。
SELECT...INTO 語句樣本
此樣本選擇在員工表中的所有記錄,然後複製到命名為 Emp Backup 的新表中。
Sub SelectIntoX()
Dim dbs As Database
Dim qdf As QueryDef
'' 在您的電腦中修改此行使其正確指到 Northwind 的路徑。
Set dbs = OpenDatabase("Northwind.mdb")
'' 對運費超過 $100 的訂單,
'' 選擇員工表中的所有記錄,
'' 並且複製到稱作員工備份的新表中。
dbs.Execute "SELECT Employees.* INTO " _
& "[Emp Backup] FROM Employees;"
'' 刪除 QueryDef 因為這是一個示範。
dbs.Execute "DROP TABLE [Emp Backup];"
dbs.Close
End Sub
在access中插入資料到另外的表: (藍色理想 蕭蕭小雨)
大家都知道Select into 吧。
比如:
=========================
select into tableB
select * from tableA
where userName=''abc''
=============================
會建立新表tableB,把tableA中合格紀錄插入到tableB中。
這是在一個mdb檔案裡操作的。
現在我想把A.mdb裡的表tableA裡的合格紀錄插入到B.mdb裡的tableB中,
你有什麼好辦法嗎?
哈哈,我開始想的也是先檢索tableA的A.mdb,然後迴圈記錄集插入到B.mdb。
這需要開啟兩個Connection。
後來我發現一招(高手不要說OLD啊……)
首先得知道B.mdb的物理地址。這裡用toDBFile變數表示(可以用Server.MapPath取得)
====================================
sql="insert into tableB IN ''" & toDBFile & "'' select * FROM tableA where userName=''abc''"
=======================================
只要建立一個到A.mdb的串連。執行這個SQL語句就一切OK了。