1

我有 table xx.b主键在哪里:

+-----+-----+
|  a  |  b  |
+-----+-----+
| xyz | 123 |
| abc | 456 |
| abc | 999 |
+-----+-----+

yy.b外键在哪里x.b

+----+-----+-------+
| ID |  b  |   c   |
+----+-----+-------+
|  1 | 123 | x105  |
|  2 | 123 | a309  |
|  3 | 456 | b123  |
|  4 | 999 | q234  |
|  5 | 999 | z525  |
+----+-----+-------+

yQuery基于为 each查找最高y值的查询,结果为:cIDb

+----+-----+-------+
| ID |  b  |   c   |
+----+-----+-------+
|  2 | 123 | a309  |
|  3 | 456 | b123  |
|  5 | 999 | z525  |
+----+-----+-------+

我有一个xForm当前正在显示 table的表单x。我想添加一个显示c结果的列yQueryxForm如下所示:

+----+-----+-------+
| ID |  b  |   c   |
+----+-----+-------+
|  2 | 123 | a309  |
|  3 | 456 | b123  |
|  5 | 999 | z525  |
+----+-----+-------+

我尝试在文本框xForm的控制源所在的位置添加一个文本框:

=[yQuery]![c]

但这只是给了我一列#Name?错误。我不确定如何设置文本框,使其来源是xForm!ID字段。

4

2 回答 2

1

一种选择是将表单绑定到一个查询,该查询从表 [x] 中提取信息,并与 [ID] 上的查询 [yQuery] 连接。但是,如果 [yQuery] 有一个GROUP BY子句,则任何包含 [yQuery] 的查询都可能生成不可更新的记录集。

另一种选择是使用 aDLookup()作为相关文本框的控制源,例如

=DLookup("c","yQuery","ID=" & [ID])
于 2013-06-28T20:37:07.423 回答
1

你可以只使用这个 dlookup 代替:

=DLookup("[c]","yQuery","[b] = " & [表单中 B 的控件名称])

或者可能

=DLookup("[c]","yQuery","[b] = """ & [表单中 B 的控件名称] & """")

如果 b 不是数字

于 2013-06-28T20:37:17.490 回答