怎样把一个ACCESS数据库中的一个表里面按降序排列前十条的记录插入到另一个数据库的一个表里面

在我的C盘里面的有一个叫ABC的ACCESS数据库,里面有一个叫 123 的表,我想把这个表里面按降序排列的前面十条记录插入到我的D盘里面的一个叫DEF的数据库里面的一个叫 456的表里面,请怎么应该怎么做
DEF也是ACCESS数据库

假设:数据库“ABC”里,表“123”的结构与数据库“DEF”里,表“456”的结构完全相同且不含自动ID字段。
在数据库“ABC”里运行下列追加查询代码,即可实现你的要求:
INSERT INTO [456] IN 'D:\DEF.mdb'
SELECT TOP 10 *
FROM [123]
ORDER BY [123].排序字段名 DESC;
如果两张表的结构不同,SQL代码要交代两张表各自的字段名,而且对应的数据类型不得有冲突、字段数量和顺序要互相对应,另外还要考虑是否允许插入NULL值以及数据有效性等问题。
INSERT INTO [456] (字段a,字段b,字段c,.... ) IN 'D:\DEF.mdb'
SELECT TOP 10 字段a,字段b,字段c,....
FROM [123]
ORDER BY [123].排序字段名 DESC;
上列代码已经实际测试通过。请为上列代码取名后保存为一个查询,需要时运行该查询即可。你也可以为某窗体添加一个按钮,在该按钮的单击事件过程里加入VBA代码: DoCmd.RunSQL "上列追加查询SQL代码",点击该按钮,可将选出的数据插入位于D盘的数据库(DEF)里的[456]表中。上机试一下效果吧。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-26
SELECT aa.* INTO 456
FROM (SELECT TOP (10) * FROM 123 ORDER BY id DESC) AS aa
第2个回答  2011-04-26
LIst <123>获取 数据(select ....order by ...) 只取List前10个数据对象(可以for循环),然后一个一个insert (saveOrUpdate)
第3个回答  2011-04-26
def是什么数据库?有的数据库支持批插入。insert into def select 字段1,字段2,字段3....from 123.如果你是写程序,那么就按照程序写入要好点,比如c#。先查询出来填充到dataset,然后再更新到新的数据库表。
相似回答