将值从1表移动到另一个表

时间:2015-02-15 09:01:26

标签: ms-access ms-access-2007 ms-office office-2007

使用Access 2007执行以下操作的最佳方法是什么?

我想将一个值从1个表移动到另一个表。如果table1的值为1000,我希望将其中一些值移至table2。假设我想将50table2移到table1。最终结果应该是table1留下950table2留下50,如果它以0开头,即50已从table1移至table2

我似乎无法通过访问2007 sql来执行此操作。

到目前为止,我有以下内容将基于稍后的表单,但是现在我已对50值进行了硬编码,但它给出了语法错误:

insert into table2
(value)
select 50
from table1 where id = 1;
update table1
set value = (value - 50)
where id = 1;

插入,选择和更新在分离时工作正常,但当结合使用时,它们不起作用。

如何解决此问题?

1 个答案:

答案 0 :(得分:1)

使用VBA,您可以执行以下操作(例如,按下按钮):

Private Sub Button1_OnClick()
    Dim s as String

    s = " insert into table2 (value) select 50 from table1 where id = 1; "
    CurrentDb.Execute s
    s = " update table1 set value = (value - 50) where id = 1;  "
    CurrentDb.Execute s
End Sub