【发布时间】:2018-02-19 18:40:59
【问题描述】:
我的 Access DB 中有一个子表单作为我的主表单的一部分。所有数据都在链接到 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() 子窗体中。
这应该在子表单中吗?
还是我的代码错了?
或两者兼而有之?
【问题讨论】:
-
为什么不直接将列表框行源设置为查询?您可以在查询中包含父表单和子表单引用。
-
@Minty 我试过
select pc.Value Permit from pmdb.Project_Permit pp left join pmdb.PicklistChild pc on pc.Id = pp.Permit where Project = Forms![DATASHEET - CAF2]![Project_Permit].Form!Permits.Project and ProjectType = Forms![DATASHEET - CAF2]![Project_Permit].Form!Permits.Project_Type and GroupId = Forms![DATASHEET - CAF2]![Project_Permit].Form!Permits.GroupID,但没用。我是否错误地引用了表单和子表单? -
尝试在查询构建器中构建查询,并使用表达式构建器为您选择表单名称以获得正确的确切语法。 @Andre 提供的链接也会有所帮助。
标签: sql-server ms-access vba ms-access-2010