我对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 :(得分:0)
您不能将SELECT语句用作计算控件的控件源,但Domain functions用于此:
=DLookup("Fee", "Courses", "Course = Forms!Register!Course")
但您也可以将Fee
添加为Courses
组合框的第2列,其中列宽= 0,因此它不可见。
然后简单地
=Courses.Column(1)
(.Column
从0开始)