具有 Microsoft Access 中另一个 table 值的计算字段

Calculated field with value from another table in Microsoft Access

我在 table 中有一个计算字段需要从另一个 table 中获取值,但在表达式生成器中 window 它不允许我从中选择值其他 table 个。 然后,我尝试从 table 创建一个表单,并在源代码管理中放入我需要的函数,但它在表单中触发了 #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]))

[Stato][Costo ivato 1 pezzo] 是同一个 table(称为 Prodotti)中的两个字段,其结构如下:

Stato      Costo Ivato 1 pezzo

Vendita         10
Prevendita      20

另一个table(叫做Provvigioni)就像

Tipo        Costo

Vendita       1,5
Prevendita    5

Provv_VenditaProvv_Prevendita 是两个查询 select 我需要的值,其结构如下

SELECT Provvigioni.Costo
FROM Provvigioni
WHERE Provvigioni.Tipo="Vendita";

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

创建查询。

引入这两个表并在 Stato 和 Tipo 之间创建连接。

现在您可以 select [Costo] 和 [Costo Ivato 1 pezzo]

我不是 100% 确定您在这里寻找什么,但我认为最好先向您展示如何 link 您的 2 table 在查询中..

转到“创建”>“查询设计”:

添加您的 table(双击它们):

然后关闭显示Tablewindow;您现在应该在查询设计器中拥有您的 tables:

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

双击每个 table 中的所有字段,以便它们出现在查询中:

在查询的下一个可用字段中,右键单击 "Field" 框,然后 select "Zoom":

把你的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]))

单击 "Zoom" window 上的“确定”。单击 "Run" 查看您的查询结果:

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

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

...并为其命名:

然后您可以转到“创建”>“表单设计”:

在右侧的 属性 Sheet 中,转到 "Data" 选项卡并使用 Record Source 旁边的下拉菜单 select您刚刚保存的查询:

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

希望对您有所帮助!