Разделить STRING на ИЛИ в Access SQL Query - PullRequest
0 голосов
/ 17 июня 2019

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

mystring = 26,28,29,30

Моя цельбыло бы добраться до таблицы «PartsList» и извлечь поле «Имя» из строк 26, 28, 29 и 30.

Как мне поступить?

РЕДАКТИРОВАТЬ: Это то, что яранее использовал для получения информации только для одной строки:

SELECT PartsList.ID, PartsList.Name, 
FROM PartsList
WHERE (((PartsList.Part_Number)=[Forms]![View_Parts]![Name]));

Заранее спасибо, Рафаэль.

Ответы [ 2 ]

1 голос
/ 17 июня 2019

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

SELECT Name 
FROM PartsList
WHERE (',' & mystring & ',') LIKE ('*,' & ID & ',*');

Если mystring может содержать пробелы, удалите их с помощью REPLACE():

SELECT Name 
FROM PartsList
WHERE (',' & REPLACE(mystring, ' ', '') & ',') LIKE ('*,' & ID & ',*'); 
0 голосов
/ 17 июня 2019

Вы можете использовать VBA для включения вашего списка значений в оператор SELECT.

strSelect = "SELECT pl.ID, pl.Name FROM PartsList AS pl " & _
    "WHERE pl.Part_Number IN (" & mystring & ");"

Этот запрос должен возвращать результаты, которые, я думаю, вам нужны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...