如何从同一个表中MSACCESS选择和更新2007
我希望能够选择和更新我的当前库存表如何从同一个表中MSACCESS选择和更新2007
这是我的查询:
UPDATE current_stock
SET current_stock.quantity =
(SELECT quantity
FROM (SELECT * FROM current_stock) As current_stock1
WHERE current_stock1.stock_id=2)
WHERE stock_id=1;
如果我运行嵌套查询没有更新它工作正常,但使用它的更新语句总是返回错误:操作必须使用可更新查询
实际的问题:
我要扣除CURR (缺少操作员)查询表达使用DLookup ..
我猜嵌套使用DLookup不工作
:在根据相应的笔记本电脑ID语法错误Bom_dell表ENT库存数量所需数量字段
UPDATE current_stock
SET current_stock.quantity =
DLookup("quantity", "current_stock", "stock_id=1")-DLookup("req_quantity","Bom_dell","lap_id=DLookup("lap_id","laptop_info","model_name="Dell Inspiron"")")
WHERE stock_id=1;
根据你的建议我改变了代码包含SELECT语句,它的工作原理:
UPDATE current_stock
SET current_stock.quantity =
DLookup("quantity", "current_stock", "stock_id=1")-DLookup("req_quantity","Bom_dell","lap_id=(SELECT lap_id FROM laptop_info WHERE model_name='Dell Inspiron')")
WHERE stock_id=1;
所有我需要的现在要做的,就是添加一个for循环扣除所有的数量在目前的股价表
http://tinyurl.com/7eghddq < <这里是链接到我的关系表的图像
Domain Aggregate Functions可以用来避免“操作必须使用可更新的查询“错误。
就你而言,你似乎想用stock_id = 2中的数量替换stock_id = 1的数量。如果我理解正确,请尝试此UPDATE查询。
UPDATE current_stock
SET current_stock.quantity =
DLookup("quantity", "current_stock", "stock_id=2")
WHERE stock_id=1;
,如果你持有的stockId是一台笔记本电脑在表中涉及到按照这个数据模型
,那么你可以用下面的SQL
UPDATE (LaptopInfo INNER JOIN BomDell ON LaptopInfo.LaptopId = BomDell.LapTopId) INNER JOIN current_stock ON LaptopInfo.StockId = current_stock.StockId SET current_stock.Quantity = [Quantity]-[ReqQuantity] WHERE (((LaptopInfo.ModelName)="Dell Inspirion"));
如何添加像这样的数据模型来解释?我应该附上一张照片吗? : -/ – 2012-03-29 10:50:55
http://tinyurl.com/7eghddq 2012-03-29 11:15:22
我将其更新m对不起编辑主要答案添加另一个问题..我很困惑如何让你知道:( – 2012-03-28 18:18:46
看来你的实际情况比例y更复杂你提出了我们的问题。我的建议是编辑问题以包含更新的信息。 – HansUp 2012-03-28 18:22:06
非常感谢Hans :)访问大师! – 2012-03-28 18:50:21