使用Microsoft Access中另一个表的值计算字段

Pon*_*aro 2 mysql ms-access calculated-field ms-access-2013

我在表中有一个计算字段,需要从另一个表中获取值,但在表达式生成器窗口中,它不允许我从其他表中选择值.然后,我尝试从表中创建一个表单,并在源代码控制中放入我需要的函数,但它#Name?在表单中触发了一个错误.

这是我放在源代码控制中的代码(Iff函数):

=IIf([Stato]="Vendita";[Costo ivato 1 pezzo]+(([Costo ivato 1 pezzo]/100)*[Provv_Vendita]![Costo]);[Costo ivato 1 pezzo]+(([Costo ivato 1 pezzo]/100)*[Provv_Prevendita]![Costo]))
Run Code Online (Sandbox Code Playgroud)

[Stato]并且[Costo ivato 1 pezzo]是在同一个表(被调用Prodotti)中的两个字段,其结构如下:

Stato      Costo Ivato 1 pezzo

Vendita         10
Prevendita      20
Run Code Online (Sandbox Code Playgroud)

另一个表(称为Provvigioni)就像

Tipo        Costo

Vendita       1,5
Prevendita    5
Run Code Online (Sandbox Code Playgroud)

Provv_Vendita并且Provv_Prevendita是两个选择我需要的值并且结构如下的查询

SELECT Provvigioni.Costo
FROM Provvigioni
WHERE Provvigioni.Tipo="Vendita";
Run Code Online (Sandbox Code Playgroud)

有没有办法从另一个表中获取该字段并在第一个表的函数中使用?

Mat*_*all 5

我不是100%肯定你在这之后会有什么,但我认为最好先向你展示如何在查询中链接你的2个表格.

转到"创建">"查询设计":

在此输入图像描述

添加两个表(双击它们):

在此输入图像描述

然后关闭Show Table窗口; 您现在应该在查询设计器中拥有表:

在此输入图像描述

单击并从Stato拖动到Tipo; 这应该在这些字段之间创建一个连接:

在此输入图像描述

双击每个表中的所有字段,以便它们显示在查询中:

在此输入图像描述

在查询的下一个可用字段中,右键单击"字段"框并选择"缩放":

在此输入图像描述

把你的IIF陈述放在那里; 在它前面加上一个字段名和冒号,例如:

在此输入图像描述

...请注意,我已经整理了一下你的IFF陈述,所以它现在写着:

MyCalculatedField: IIf([Stato]="Vendita",[Costo ivato 1 pezzo]+(([Costo ivato 1 pezzo]/100)*[Costo]),[Costo ivato 1 pezzo]+(([Costo ivato 1 pezzo]/100)*[Costo]))

在"缩放"窗口中单击"确定".点击"运行"查看查询结果:

在此输入图像描述

以下是查询的结果(检查您的计算字段是否符合预期):

在此输入图像描述

如果您希望此查询的结果填充表单中的数据,那么您应该保存查询...

在此输入图像描述

......并将其命名为:

在此输入图像描述

然后,您可以转到"创建">"表单设计":

在此输入图像描述

在右侧的"属性表"中,转到"数据"选项卡,然后使用"记录源"旁边的下拉列表选择刚刚保存的查询:

在此输入图像描述

如果您转到"设计">"添加现有字段",您应该可以从"查询"中引入字段以在表单中使用(双击或拖动它们以显示在表单上):

在此输入图像描述

希望这可以帮助!