我的Access数据库中有一个子表单作为主表单的一部分。所有数据都在链接到SQL Server DB的链接表中。我无法弄清楚如何根据其中一个链接表的查询正确填充列表框。我以为我的工作只是发现我没有。我不确定我的代码是否在正确的位置,或者我的代码是否正确。这就是我所拥有的:
Forms![DATASHEET - CAF2]![Project_Permit]!Permits!RowSource = "select pc.Value Permit from pmdb.Project_Permit pp" _
& " left join pmdb.PicklistChild pc on pc.Id = pp.Permit " _
& " where Project = '" & ProjectNum & "' and ProjectType = " & ProjectTypenum _
& " and GroupID = '" & GROUPID & "';"
这是主表单的Form_Load()
子。
这应该在子表单中吗?
或者我的代码错了吗?
或两者兼而有之?
答案 0 :(得分:1)
Refer to Form and Subform properties and controls
这是Forms!Mainform!Subform1.Form!ControlName.Enabled
案例。
您可能需要
Forms![DATASHEET - CAF2]![Project_Permit].Form!Permits.RowSource = "..."
如果您可以将代码放入子表单中,则会简化为
Me!Permits.RowSource = "..."
对于SQL,这确实是无效的语法。
对每列进行限定,并用逗号分隔列,例如
select pc.Value, pp.Permit from ...
要调试SQL,请参阅:How to debug dynamic SQL in VBA