1. Access
使用Link Table,然后使用:
INSERT INTO tablename SELECT ...
2.SQL Server
使用数据库名.拥有者名.表处理不同数据库的数据
INSERT INTO 数据库名.拥有者名.表1 SELECT * from 数据库名.拥有者名.表2

解决方案 »

  1.   

    SELECT...INTO 语句
    创建制表检索.语法
    SELECT field1[, field2[, ...]]INTO新表[IN外部数据库]
        FROM源SELECT...INTO 语句可分为以下几个部分:部分 说明 
    field1, field2 欲复制至新表的字段的名称。 
    NewTable 欲创建的表的名称。它应遵循标准命名公约.如果 NewTable 的名称与现存表的名称相同时,将会发生可以捕捉到的错误。 
    Externaldatabase 进入外部数据库的路径。有关路径的描述,请参阅 IN 子句。 
    source 从其中选择记录的现存表的名称。它可以是单一表或多重表或一个查询。 
    说明
    可以使用生成表查询来存档记录、生成表的复制备份、或生成输出至另一个数据库的表的副本、或用作定期显示数据的报表的依据。例如,可以每月运行一次同样的生成表查询,生成地区的销售月报。
    --------------------------------------------------------------------------------注意 或许你想要为新表定义一个主键。创建新表时,新表中的字段将继承查询基本表中每一个字段的数据类型及大小,但不传递其他的字段或表属性。 
    使用 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
    INSERT INTO 语句 
    添加一个或多个记录至一个表。这叫作追加查询.语法
    多重记录追加查询:INSERT INTO target [(field1[, field2[, ...]])][IN外部数据库]
        SELECT field1[, field2[, ...]]
        FROM tableexpression单一记录追加查询:INSERT INTO target [(field1[, field2[, ...]])]
        VALUES (value1[, value2[, ...])INSERT INTO 语句可分为以下几个部分:部分 说明 
    target 欲追加记录的表或查询的名称。 
    field1, field2 如果后面跟的是 target 参数,则为要追加数据的字段名;如果后面跟的是 source 参数,则为从其中获得数据的字段名。 
    Externaldatabase 进入外部数据库的路径。有关路径的描述,请参阅 IN 子句。 
    source 复制记录的来源表或查询的名称。 
    tableexpression 从其中得到要插入的记录的表名。这个变元可能是一个单一的表名,也可能是一个由 INNER JOIN, LEFT JOIN或 RIGHT JOIN 运算组成的复合体,或是一个储存的查询。 
    value1,value2 欲插入新记录的特定字段的值。每一个值将依照它在列表中的位置,顺序插入相关字段:value1 将被插入至追加记录的 field1 之中,value2 插入至 field2,依此类推。必须使用逗点将这些值分隔,并且将文本字段用引号 (' ') 括起来。 
    说明
    可以使用 INSERT INTO 语句来添加一个单一记录至一个表中,如以上所示使用单一记录追加查询语法。在这个例子中,代码指定了该记录每一字段的名称和值。必须指定追加数值的记录的每一个字段和那个字段的值。如果您没有指定每一个字段时,缺省值或 Null 值将被插入至没有数据的字段之中。这些记录将被添加至表的尾部。通过使用 SELECT ...FROM 子句如以上所示的多重记录追加查询语法,也可以从另一表或查询使用 INSERT INTO追加一组记录。在这个示例中,SELECT 子句将指定追加字段至指定的 target 表。source 或 target 表可以指定一个表或查询。如果查询被指定,Microsoft Jet数据库引擎会把记录追加到由该查询指定的所有表中。INSERT INTO 是可选的,但当使用时,请置於 SELECT 语句之前。如果你的目标表包含一个 主键,,你一定要把唯一的非 Null 值追加到主键字段中,否则 Microsoft Jet 数据库引擎不会追加记录。如果你要把把记录追加到带有 AutoNumber字段的表中,还想重编追加的记录,请不要在你的查询中包含 AutoNumber字段。如果您要保持字段中的原始值,请将自动编号加在您的查询之中。使用 IN 子句,可追加记录至另一个数据库中的表。要创建新表请用 SELECT...INTO 语句代替制表查询的创建。若要在运行追加查询之前找出哪些记录是被追加的,首先执行和查阅一个使用相同的选择条件之选定查询所获得的结果。追加查询为从一个或多个表中复制记录至另一个表。您追加的表包含记录将不会被追加查询所影响。除了从另一表中来追加现存的记录,可以指定在单一追加记录之中使用 VALUES 子句来指定对每一字段的值。如果您省略字段列表,VALUES 子句在表之中必须包含每一字段的值;否则, INSERT运算将会失败。使用额外的 INSERT INTO 语句与一个 VALUES 子句来创建您要的每一个额外的记录。
    INSERT INTO 语句示例此示例选择在一假设的新客户表中的所有记录,并且增加它们至客户表中。当个别的栏没有设计时,此 SELECT 表的列名必须完全地符合那些在 INSERT INTO 表中的列名。Sub InsertIntoX1()
        Dim dbs As Database
        ' 在您的计算机中修改此行使其正确指到 Northwind 的路径。    Set dbs = OpenDatabase("Northwind.mdb")    ' 对运费超过 $100 的订单,        ' 在新客户表中选择所有记录,    ' 并且添加它们至客户表。    dbs.Execute " INSERT INTO Customers " _        & "SELECT * " _        & "FROM [New Customers];"            dbs.Close
    End Sub此示例创建在员工表中的添加记录。Sub InsertIntoX2()
        Dim dbs As Database
        ' 在您的计算机中修改此行使其正确指到 Northwind 的路径。    Set dbs = OpenDatabase("Northwind.mdb")    ' 对运费超过 $100 的订单,        ' 创建在员工表中的新记录,     ' 其姓氏是 Washington,名字是 Harry,    ' 并且职称是 Trainee。    dbs.Execute " INSERT INTO Employees " _        & "(FirstName,LastName, Title) VALUES " _        & "('Harry', 'Washington', 'Trainee');"            dbs.Close
    End Sub