根據您的架構的複雜程度,一個簡單的方法是通過一個INSERT INTO SELECT
查詢的模式映射。
例如,如果你的舊數據庫有一個表:
Orders
------
OrdID
CustID
ProductName
Price
oDay
oMonth
oYear
您的新數據庫的人不得不使用不同的名稱,額外的字段等字段:
OrderDetails
------
Order_ID
Customer_ID
Product
Price
DeliveryAddress
OrderDate
所有你需要做的是創建插入查詢以將舊記錄附加到新表中。在定義查詢時,您可以指定源和目標字段名稱,甚至可以對數據執行函數/表達式。你甚至可以直接在其他表中查詢,而無需連接或將它導入到新的數據庫:
INSERT INTO OrderDetails (Order_ID,Customer_ID,Product,Price,OrderDate)
SELECT OrdID,CustID,ProductName,Price,DateSerial(oYear,oMonth,oDay) AS oDate
FROM Orders IN 'C:\oldDatabasePath.mdb';
如果你要做額外的轉換來的數據,例如列值運行的表情,我會建議測試在添加INSERT
行之前查詢SELECT
部分查詢。
這就是爲什麼http://stackoverflow.com/questions/11263253/split-a-table-in-access-into-two-linked-tables#comment14807539_11263253 – Fionnuala 2012-07-27 13:35:57
你仍然收到驗證錯誤?你在用什麼sql?你插入的表的模式是什麼?你是否對priginal數據庫進行了反編譯?壓實和修復它? – Fionnuala 2012-07-27 14:17:30