使用Access 2007执行以下操作的最佳方法是什么?
我想将一个值从1个表移动到另一个表。如果table1
的值为1000
,我希望将其中一些值移至table2
。假设我想将50
从table2
移到table1
。最终结果应该是table1
留下950
,table2
留下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;
插入,选择和更新在分离时工作正常,但当结合使用时,它们不起作用。
如何解决此问题?
答案 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