2017-05-29 38 views
0

我在Access中很新鮮,我試圖做一個簡單的表單工作。我的表單提供了一個組合框,它正確顯示了名爲Courses的表中的所有名稱。另一個相同形式的文本框(稱爲Fee)應根據組合框中選定的值在同一個表中查找值。要做到這一點,我已經使用在Fee的控件來源屬性下面的SQL語句:在表單域的控件源屬性中選擇

=(SELECT Fee FROM Courses WHERE Courses.Course=Forms.Register.Course;) 

在窗體中,我總是得到一個#Name?錯誤。但是,如果我將它作爲普通查詢運行,則相同的指令工作正常。另請注意,表格顯示了其他字段以及其他表格。窗體的記錄源如下:

SELECT Register.*, Courses.Fee FROM Courses INNER JOIN Register ON Courses.Course = Register.Course; 

我想這應該是一個簡單的任務,但到目前爲止,我還沒有能夠找到一個解決方案(如果可能的話不使用VBA)。任何幫助將不勝感激,謝謝。

回答

0

不能使用SELECT語句作爲控制源的計算控制,但Domain functions用於此:

=DLookup("Fee", "Courses", "Course = Forms!Register!Course") 

但你也可以添加FeeCourses組合框爲第2列,其列寬度= 0,所以它是不可見的。

然後簡單

=Courses.Column(1) 

.Column是從0開始)

+0

感謝了很多,很好地工作(愚蠢的我,我甚至用使用DLookup最近,但現在沒有想到的吧! )。另外你的第二個選擇是相當方便的 –

相關問題