使用“where”子句进行交叉表减法

时间:2012-02-02 14:00:19

标签: ms-access

我的Access数据库中有很多表。其中一个表称为tblCurrentSale,另一个表称为TblDraughtStock

当前销售表格具有以下布局:

CurrSaleID| DraughtID| SpiritID| SoftDrinkID| BottleID| Item    | SalePrice|
22________|_________1|_________|____________|_________|_Clsbrg__|______2.70|

等...

TblDraughtStock如下所示:

DraughtStockID | DraughtID | Item   | Stock |  MinLevelStock |
1______________|_________1_|Clsbrg__|_5000__|___________500__|

我需要一些VBA或SQL,当TblDraughtStockdraughtID中的tblcurrentsale相同时,会从tblDraughtStock的库存列中减去1。

1 个答案:

答案 0 :(得分:0)

股票控制倾向于复杂化。数据宏可能是一种可能性,但您最好只在执行复制和删除的同一按钮单击上运行一些SQL。非常粗略:

sSQL = "UPDATE TblDraughtStock t " _
  & "INNER JOIN tblCurrentSale c " _
  & "ON t.DraughtID = c.DraughtID " _
  & "SET t.Stock = t.Stock - 1"

Set db = CurrentDB
db.Execute sSQL, dbFailOnError