根据您的架构的复杂程度,一个简单的方法是通过一个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