2013-06-18 2 views
0

У меня есть следующие две таблицы, первые называемые проекты и вторые называются части:Создание SQL-запроса в MS Access для поиска в раскрывающемся списке в подформе?

enter image description here

enter image description here

Я тогда форму (назовем ее форма 1), который использует проекты, как его Источник записи с подформой, которая связывает проект в таблице «Проекты» с проектом в таблице «Детали» и отображает только элементы, связанные с выбранным источником записи проектов, например:

enter image description here

Теперь, что бы я хотел сделать, это иметь выпадающий список в форме 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]; 

ответ

1

Поставьте это событие Load формы в:

Me!MyCombo.RowSource = "SELECT [Parts].[ID], [Parts].[Item] FROM Parts WHERE [Parts].[ID]= '" & Me![ID] & "' ORDER BY [Item];" 
Me!MyCombo.Refresh 

Вам нужно будет вынуть одинарные кавычки, если Parts.ID - это числовое поле и оставить их, если это текстовое поле.

1

Используйте текущее событие формы, чтобы установить свойство RowSource комбо, поэтому всякий раз, когда активная строка в вашей форме изменяется, вы получаете обновленный список на своем комбо.

Me!MyCombo.RowSource = "SELECT Project, Item FROM Parts WHERE Project = '" & Me.Project & "' ORDER BY Item" 

К сожалению, user2174085: Это должно быть комментарий на вас ответить, но у меня нет возможности сделать комментарии.

Смежные вопросы