Использование данных из списка в SQL-запросе

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

DELETE *
FROM Client
WHERE
(([Client].[ClientID])=[Forms]![UpdateDeleteClientInformationForm]![ClientFullNameListBox]);

Проблема в том, что я не уверен, как получить доступ к текущему ClientID из выбора в списке. Как получить доступ к данным в каждом из столбцов списка для выбранного элемента в SQL-запросе?

Я не особенно удобен с Access в данный момент.


person Cromulent    schedule 14.02.2013    source источник


Ответы (1)


Вы можете построить свой запрос в VBA. Список элементов, которые нужно удалить, можно получить из списка с множественным выбором, например:

For Each itm In AListBox.ItemsSelected
    srem = srem & "," & itm
Next

srem = Mid(srem, 2)

sSQL ="DELETE FROM ATable WHERE ID IN (" & srem & ")"
CurrentDB.Execute sSQL, dbFailOnError

Обратите внимание, что вам понадобятся элементы в кавычках для текстового типа данных.

person Fionnuala    schedule 14.02.2013
comment
Спасибо тебе за это. Я пытался избежать использования VBA, но думаю, что в данном случае это лучший вариант. - person Cromulent; 14.02.2013