Есть ли способ объединить все выходы в один в MS-ACCES? - PullRequest
0 голосов
/ 25 января 2019

Я хочу сделать фильтр SQL в MS-Acces, где у меня есть опция для фильтрации всех элементов в таблице. Но когда я делаю UNION SELECT, я могу показать только 1 столбец в каждой строке, поэтому я сделал от database_geräte.* до database_geräte.ID. Теперь это работает нормально, но я хочу, чтобы все выходы из database_geräte.ID были выбраны в один ряд, чтобы я мог отфильтровать их все сразу.

Я пытался сделать GROUPCONCAT, но это дает мне ошибку.

SELECT  database_geräte.ID, dbo.GROUPCONCAT (STRINGVALUE)  FROM database_geräte  
UNION 
SELECT database_geräte.Gerät FROM database_geräte;

Я также пытался подсчитать

 database_geräte.ID

Но тогда я получаю значение database_geräte.ID select, которое не помещается в фильтр, потому что идентификатор с таким номером не существует ...

Выбор SQL:

SELECT  database_geräte.ID, dbo.GROUPCONCAT  FROM database_geräte  
UNION 
SELECT database_geräte.Gerät FROM database_geräte;

Фильтр SQL в VBA:

sql = "SELECT* FROM database1 WHERE Gerät = '" & Me.GeräteFilter & "'"

Me.sb_1.Form.RecordSource = sql
Me.sb_1.Form.Requery

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

1 Ответ

0 голосов
/ 25 января 2019

Я только что сделал UNION, который дает мне все данные одновременно.

Выбор SQL:

SELECT ID, Gerät FROM database_geräte UNION select "*" as ID, "Alle" as Gerät from database_geräte;

Затем я сделал функцию, которую я могу дать двумФильтры:

sql = "SELECT database_geräte.Gerät, database1.Name, database1.Grund, database1.Gerät_ID" _
    & " FROM database_geräte INNER JOIN database1 ON database_geräte.ID = database1.Gerät_ID " _
    & "" & IIf(Me.GeräteFilter <> "*", "Where database1.Gerät_ID = " & Me.GeräteFilter & " ", "") & " " _
    & "" & IIf(Me.Person <> "Alle", IIf(Me.GeräteFilter <> "*", " AND database1.Name = '" & Me.Person & "'", "WHERE database1.Name = '" & Me.Person & "'"), "") & ""

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