在表单字段的控件源属性中选择

时间:2017-05-29 11:33:47

标签: forms ms-access controls

我对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)。非常感谢任何帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

您不能将SELECT语句用作计算控件的控件源,但Domain functions用于此:

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

但您也可以将Fee添加为Courses组合框的第2列,其中列宽= 0,因此它不可见。

然后简单地

=Courses.Column(1)

.Column从0开始)