[英]Creating an SQL query in MS Access for a dropdown box lookup in a subform?
我有以下两个表,第一个叫做Projects,第二个叫做Parts:
然后,我有一个表单(我们称之为表单1),它使用Projects作为其Record Source,其子表单将Projects表上的Project链接到Parts表上的Project,并仅显示与所选Projects记录源关联的项,如此:
现在,我希望能够做的是在表单1上有一个下拉列表,只有子表单上列出的项目可选,但我似乎无法找到执行此操作的SQL代码。
我当前的下拉列表使用以下代码,但当然这只显示所有项目,而不是仅显示在子表单上的项目:
SELECT [Parts].[ID], [Parts].[Item] FROM Parts ORDER BY [Item];
我想要做的就是这样,但显然使用了正确的语法:
SELECT [Parts].[ID], [Parts].[Item] WHERE [Parts].[ID]= & Me![ID] FROM Parts ORDER BY [Item];
把它放在表单的Load事件中:
Me!MyCombo.RowSource = "SELECT [Parts].[ID], [Parts].[Item] FROM Parts WHERE [Parts].[ID]= '" & Me![ID] & "' ORDER BY [Item];"
Me!MyCombo.Refresh
如果Parts.ID是数字字段,则需要从中取出单引号,如果它是文本字段,则将它们保留。
使用表单的“当前”事件来设置组合的RowSource属性,因此每当表单中的活动行发生更改时,您将获得组合中的更新列表。
Me!MyCombo.RowSource = "SELECT Project, Item FROM Parts WHERE Project = '" & Me.Project & "' ORDER BY Item"
对不起,user2174085:这应该是您回答的评论,但我没有选项可以提供评论。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.