我有表x
,其中x.b
是主键:
+-----+-----+
| a | b |
+-----+-----+
| xyz | 123 |
| abc | 456 |
| abc | 999 |
+-----+-----+
表y
,其中y.b
是x.b
的外键:
+----+-----+-------+
| ID | b | c |
+----+-----+-------+
| 1 | 123 | x105 |
| 2 | 123 | a309 |
| 3 | 456 | b123 |
| 4 | 999 | q234 |
| 5 | 999 | z525 |
+----+-----+-------+
基于yQuery
的查询y
,为每个c
查找最高ID
的{{1}}值,结果为:
b
我的表格+----+-----+-------+
| ID | b | c |
+----+-----+-------+
| 2 | 123 | a309 |
| 3 | 456 | b123 |
| 5 | 999 | z525 |
+----+-----+-------+
目前正在显示表格xForm
。我想添加一个显示x
c
结果的列,以便yQuery
看起来像这样:
xForm
我尝试将文本框添加到+----+-----+-------+
| ID | b | c |
+----+-----+-------+
| 2 | 123 | a309 |
| 3 | 456 | b123 |
| 5 | 999 | z525 |
+----+-----+-------+
,其中文本框的控件源为:
xForm
但这只是给了我一列 #Name?错误。我不确定如何设置文本框以使其来源为=[yQuery]![c]
字段。
答案 0 :(得分:1)
一种选择是将表单绑定到一个查询,该查询从[ID]上的查询[yQuery]连接的表[x]中提取信息。但是,如果[yQuery]有一个GROUP BY
子句,那么包含[yQuery]的任何查询都可能产生一个不可更新的记录集。
另一种选择是使用DLookup()
作为相关文本框的控件来源,例如
=DLookup("c","yQuery","ID=" & [ID])
答案 1 :(得分:1)
你可以改用这个dlookup:
= DLookup(“[c]”,“yQuery”,“[b] =”& [表格中B的控制名称])
或者
= DLookup(“[c]”,“yQuery”,“[b] =”“”& [表格中B的控制名称]&“”“”)
如果b不是数字