2013-06-28 40 views
1

我有表x,其中x.b是主鍵:添加列到表格的形式從查詢顯示值

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

y,其中y.bx.b外鍵:

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

查詢yQuery根據y查找c的值爲最高ID每個b,這會導致:

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

我有一個表格xForm,因此目前顯示錶x。我想補充一欄,顯示從yQueryc結果,使xForm應該是這樣的:

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

我嘗試添加一個文本框xForm在文本框控件來源:

=[yQuery]![c] 

但是,這隻給了我一列#姓名?錯誤。我不確定如何設置文本框,以便其源代碼是xForm!ID字段。

回答

1

一種選擇是將表單綁定到一個查詢,該查詢從[ID]上的查詢[yQuery]中抽取表[x]中的信息。但是,如果[yQuery]具有GROUP BY子句,則包含[yQuery]的任何查詢都可能產生不可更新的記錄集。

另一種選擇是使用DLookup()作爲控件來源有問題的文本框,就像

=DLookup("c","yQuery","ID=" & [ID]) 
1

東西,你可以只使用這個使用DLookup來代替:

=使用DLookup(「[C] 」, 「yQuery」, 「並[b] =」 & [控制名稱爲表單中的b])

或也許

=使用DLookup( 「[C]」, 「yQuery」, 「[B] = 」「」 & [控制名稱爲您的形式B] & 「」 「」)

如果b是不是數字

+0

@Gord湯普森,你在我前面了! –