我在编程方面有点新手/新手,所以请原谅我的天真。在 MS Access 2013 中,我有两个表:表 1 和表 2。我需要一种方法来比较 [表 1].[字段 6] 中输入的值与 [表 2].[字段 2] 中的值,然后当它找到匹配项时,在 [Table 2].[Field 3] 中获取相应的行值,并将其用于 [Table 1].[Field 13] 中的表达式中。
我曾想过使用“If”语句,但两个正在比较的表中有 10 个潜在值,因此表达式会变大并且需要很长时间才能计算出来。特别是一旦表 1 开始获得数百/数千条记录。
有人可以告诉我最简单/最干净的方法吗?
编辑 - 每个请求添加更多细节。
我们出售整车、有轨电车、手提袋等商品。因此,当我们签订合同时,我们将签订 2 辆卡车、3 辆轨道车、10 个集装箱等。这些运输方式中的每一种都有不同的重量,并且定价/销售也不同(美元/磅、美元/公吨等.) 取决于运输方式。这个想法是,当输入合同时,它会查看在 [table 1].[field 6] 中输入的运输方式,将其与主重量表(即表 2)进行比较,以获得数量运输方式是磅、吨等(让我们将此变量称为“x”),因此我可以使用该数字(以及表 1 中其他字段的数量和价格)在新字段中生成总收入数字在表 1 中。 = "x" [数量] [价格]。
例如,假设我们卖了 3 辆卡车。当输入卡车作为运输方式时,它会查找卡车的体积(即 46,000 磅),然后在表达式中使用该数字。46,000 x 3 卡车 x 0.39 美元/磅 = 53,820 美元。
我可以创建外壳,并且可以在收入字段中创建表达式。我只是无法弄清楚如何将变量“x”(基于比较表的权重)放入等式 =“x” [volume] [price] 而无需简单地执行“If”语句并包括所有 10表达方式中的运输方式。我认为有一种方法可以使用表或查询来带回“x”而不是表达式中的 10 个不同的逻辑测试。