我又回来了另一个问题。我有一个基于查询的表单,WHERE子句中的参数是表单的组合框。在详细信息中,它是连续的表单视图,并显示组合框的所有匹配字段(更新组合框后重新查询)。页脚上有一个文本框和一个按钮,用户可以在其中为此数据添加新条目。
我需要在它旁边基本上有一个这种形式的镜子 - 以便可以在视觉上进行比较。我在标题中并排需要两个组合框 - 在详细信息部分中有两个控件根据查询填充。我考虑使用子表单基本上创建了这个幻觉,但我不能有连续表单视图的子表单。我想的想法是将两个查询作为表单的记录源:
Select value FROM t1 WHERE criteria = me.combo1;
select value as val2 from t1 WHERE criteria = me.combo2;
示例数据(相同结构):
**Friends**
**User friend**
Bob Jack
Bob Zach
Bob Mack
John Juan
John Sha'Quan
然后我会在详细信息部分中有一个'值'控件和一个'val2'控件,它将从不同的查询和标准中填充。
这可能吗?
或者,我应该只有两个子表单,每个表单都有一个不同的父键,由组合框中选择的值决定?我更喜欢它是我列出的方式,但如果没有其他选择,这是我必须做的吗?
答案 0 :(得分:0)
试试这个:
SELECT tx.*, ty.*
FROM (Select id, value FROM t1 WHERE criteria = me.combo1) As tx
LEFT JOIN (select id, value as val2 from t1 WHERE criteria = me.combo2) As ty
ON tx.ID = ty.ID
我必须在第一个组合的更新后事件中重新查询表单。
SELECT x.*,
y.*
FROM (SELECT t1.user,
t1.friend
FROM t1
WHERE (( ( t1.user ) = [forms]![myForm]![combo5] ))) AS x
INNER JOIN (SELECT user,
friend
FROM t1
WHERE (( ( t1.friend ) = [forms]![myForm]![combo7] ))) AS y
ON ( x.user = y.user )
AND ( x.friend = y.friend );