Access Update无法正常工作

时间:2014-04-11 17:59:05

标签: sql database ms-access

我有一个Access数据库,它链接到Excel用于大学数据库项目。目标是在导入之前通过使用Update / SQL查询来修复不正确/不完整的数据。特别是有一个项目是包含订单状态的字段。如果订单完成=完成,如果订单缺少一些零件=缺货订单而没有任何东西=打开。我遇到的问题是,一个PO ID#上有多个部分,这使得很难确定订单是否延期交货,因为2/5部分可能已完成,而3/5可能是延期交货。关于如何强制访问自动设置默认订单状态的任何想法,还是这是一个长的SQL查询?

由于

1 个答案:

答案 0 :(得分:0)

使用SQL,您可以使用CASE语句返回查询以查找订单状态。我不确定你的父表中的表/列名称,但你可以从这里调整它(我只是假设标识列):

SELECT P.Id, P.Name, "Status" = 
    CASE
        WHEN R.QuantityReceived < I.QuantityOrdered THEN 'Backorder'
        WHEN R.QuantityReceived = I.QuantityOrdered THEN 'Complete'
        WHEN R.QuantityReceived > I.QuantityOrdered THEN 'Open'
    END
FROM PurchaseOrders P INNER JOIN POItem I on P.PurchaseOrderId = I.PurchaseOrderId
                      INNER JOIN POReceipt R on I.ItemId = R.ItemId

首先,您需要连接表来获取相关记录(这也假设每个只有一个),然后使用CASE语句返回您要查找的值字段之间的比较。