我在表中有一个计算字段,需要从另一个表中获取值,但在表达式生成器窗口中,它不允许我从其他表中选择值。
然后,我尝试从表中创建一个表单,并在源代码控制中放入我需要的函数,但它在表单中触发#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]
是同一个表格中的两个字段(称为Prodotti
),其结构如下:
Stato Costo Ivato 1 pezzo
Vendita 10
Prevendita 20
另一个表(称为Provvigioni
)就像
Tipo Costo
Vendita 1,5
Prevendita 5
Provv_Vendita
和Provv_Prevendita
是两个选择我需要的值并且结构如下的查询
SELECT Provvigioni.Costo
FROM Provvigioni
WHERE Provvigioni.Tipo="Vendita";
有没有办法从另一个表中获取字段并在第一个表的函数中使用?
答案 0 :(得分:5)
我不是百分之百确定你在这之后会有什么,但我认为最好先向你展示如何在查询中链接你的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]))
在“缩放”窗口中单击“确定”。点击“运行”查看查询结果:
以下是查询的结果(检查您的计算字段是否符合预期):
如果您希望此查询的结果填充表单中的数据,则应保存查询...
......并将其命名为:
然后您可以转到创建>表格设计:
在右侧的“属性表”中,转到“数据”标签,然后使用“记录来源”旁边的下拉菜单选择刚刚保存的查询:
如果你去设计>添加现有字段,您应该能够引入查询中的字段以便在表单中使用(双击或拖动它们以显示在您的表单上):
希望这有帮助!
答案 1 :(得分:0)
创建查询。
带上两张桌子并在Stato和Tipo之间创建一个连接。
现在您可以选择[Costo]和[Costo Ivato 1 pezzo]