我的工作是以表格的形式。我想要计算商品的价格变化,它由用户从列表中选择,在日期范围内由用户从列表中选择。用户仪表板的布局如下:

假设用户在第一个列表框中选择供应者BBB (然后单击刷新以便填充第二个列表框),然后选择部件BEC1 (刷新)、日期范围(01/01/15-02/01/16) (刷新),然后选择商品铜(刷新)。然后,我希望非红色列表框显示铜价从01/01/15 - 02/01/16之间的变化。
我不知道如何在查询或访问中编写动态计算函数,在这些查询或访问中,所有的数据都是不同的用户输入。注:供应商、材料和日期数据来自两个表的结合:一个称为项目主,另一个称为ZMCE。与这些价格相关的商品、商品价格和商品日期见表CommPrices。
我想象像这样的事情
SELECT ((CommPrices.Price1 - CommPrices.Price0)/CommPrices.Price0)
FROM CommPrices
WHERE CommPrices.CommDate >= [Forms]![FormName]![ListBox3a] and CommPrices.CommDate <= [Forms]![FormName]![Listbox3b];我最困惑的地方是如何把日期和商品价格联系起来。所有的价格都在一栏中,所以我不知道如何区分01/01/15点的价格和02/01/16点的价格。编辑:上面的日期列表不一定与商品价格的日期相同。我只想计算最近日期的变化。
发布于 2016-06-24 14:11:55
就像所有事情一样,有多种方法可以做到这一点。下面是一个使用多个查询进行此操作的简单方法的示例。
查询一(sel_PriceFrom) -获取ListBox3a的价格
SELECT CommPrices.Price AS PriceFrom
FROM CommPrices
WHERE (((CommPrices.CommDate)=[Forms]![Form1]![ListBox3a]));查询2- (sel_PriceTo) -获取ListBox3b的价格
SELECT CommPrices.Price AS PriceTo
FROM CommPrices
WHERE (((CommPrices.CommDate)=[Forms]![Form1]![ListBox3b]));查询3-使用Query1和2作为源,返回价格变化
SELECT ([PriceFrom]-[PriceTo])/[PriceTo] AS PriceChange
FROM sel_PriceFrom, sel_PriceTo;https://stackoverflow.com/questions/38014120
复制相似问题