MS Access 2007 - циклическое переключение значений в списке для получения идентификаторов для оператора SQL - PullRequest
2 голосов
/ 22 июля 2010

Допустим, у меня есть две таблицы, одна для транзакций, а другая таблица, первичным ключом которой является внешний ключ в первой таблице, и это отношение просто связывает местоположения с транзакциями.

У меня есть форма со списком, который показывает все потенциальные местоположения, так что пользователь может открывать некоторые формы панели мониторинга, которые относятся только к определенному местоположению. Поэтому я знаю, как передать данные из выбора на панель инструментов, однако теперь я хотел бы, чтобы пользователь имел возможность выбирать несколько местоположений из первого списка.

поэтому, если я использую оператор SQL, предложение WHERE будет похоже на

 .... WHERE LocationID = " & me.lstLocations.value & ";"

но как бы я приравнял этот тип метода к выбору нескольких вариантов? Я уверен, что есть какая-то петля, которая ускользает от меня.

Спасибо Джастин

1 Ответ

6 голосов
/ 22 июля 2010

Вы можете использовать

WHERE LocationID IN (" & listofvalues & ");"

Список можно получить примерно так:

For Each itm In Me.ListBox.ItemsSelected
  listofvalues = listofvalues & "," & Me.ListBox.Column(0, itm)
Next

listofvalues = Mid(listofvalues,2)

Это для числового списка, список строк нуждается в кавычках.

...