我的访问数据库中有一个表,其中包含已售给客户的所有设备的列表。我们只有一个客户,只有一种类型的设备。该表包含设备名称,序列,保修详细信息等详细信息。现在我们需要计算发票用途的价格。问题是价格应该根据销售设备的数量来计算,而且我们也不想硬编码价格,而是我们想要使用单独的表格来确定不同类别的价格并根据此计算价格表,因为价格经常变化,所以我们应该只在一个表中修改价格值。
我们有3类价格:如果客户买了100个设备,那么单价是15美元其他如果200个设备单价是10美元其他如果300则单位价格是5美元。因此,根据这些规则,我们需要计算价格。
所以我正在寻找适合这个问题的正确方法。
答案 0 :(得分:1)
这是一个非常开放的问题,如果没有关于数据库架构的更多信息,就无法明确回答。
我通常在Access数据库中执行3种不同的计算方法。
在查询中执行计算。对于简单的事情。
在模块函数内执行计算,该计算由查询调用。对于复杂的事情。
在模块vba子例程中执行计算,该子程序由按钮OnClick事件调用。对于极其复杂的事情。
答案 1 :(得分:0)
你可以进行交叉连接,只要你有足够宽的范围来解释所有可能性(即一些荒谬的上边界,如9999999)。否则,子查询将使用相同的WHERE子句:
SELECT Prices.Price
FROM Prices
WHERE (Prices.MinQuantity <= Invoice.Quantity) AND
(Prices.MaxQuantity >= Invoice.Quantity)
正如Gustav和V-ball指出的那样,有很多方法可以根据您的需要进行设置。