Попытка экспортировать запрошенные данные из доступа с помощью фильтра, но когда он открывается в Excel, данные не фильтруются - PullRequest
0 голосов
/ 19 марта 2020

У меня есть большая таблица доступа, и я использую запрос для ввода только определенных полей, которые мне нужны. Затем я применяю фильтр к запрашиваемым данным и пытаюсь экспортировать данные в Excel. Когда файл открывается в Excel, это только часть данных (так как таблица очень большая), и фильтр больше не применяется. Любой совет?

Запрос выглядит следующим образом (обратите внимание, что фильтр не в коде SQL Я просто использую стрелку раскрывающегося в доступе):

SELECT [GSD Item Type Summary].[Prod Line], [GSD Item Type Summary].Year, [GSD Item Type Summary].[Prod Port], [GSD Item Type Summary].[Prod Type], [GSD Item Type Summary].[GBP Value]
FROM [GSD Item Type Summary];

1 Ответ

0 голосов
/ 19 марта 2020

Функция фильтрации в открытой таблице Access или через форму таблицы Access с использованием одного или нескольких столбцов - это просто косметическая функция c GUI, которая только скрывает строки, но не удаляет записи из данных источник. Как MS Office Применение фильтра docs описывает (выделение добавлено):

Фильтрация - это полезный способ просмотра только тех данных, которые вы хотите отобразить в базах данных Access. Вы можете использовать фильтры для отображения определенных c записей в форме, отчете, запросе или таблице данных или для печати только определенных записей из отчета, таблицы или запроса. Применяя фильтр, вы можете ограничить данные в представлении, не изменяя структуру базового объекта.

Следовательно, фактически создайте объект для сохранения вашей фильтрации, которая Вы можете сделать это с объектом запроса MS Access, который фактически применяет ваши фильтры GUI, используя простое предложение WHERE. Затем откройте как любую другую таблицу или через форму таблицы данных и экспортируйте этот объект в Excel.

Один фильтр

SELECT g.[Prod Line], g.Year, g.[Prod Port], g.[Prod Type], g.[GBP Value]
FROM [GSD Item Type Summary] g;
WHERE g.[myTableColumn] = myFilterValue

Несколько фильтров

SELECT g.[Prod Line], g.Year, g.[Prod Port], g.[Prod Type], g.[GBP Value]
FROM [GSD Item Type Summary] g;
WHERE g.[myTableColumn] = IN (myFilterValue1, myFilterValue2, myFilterValue3)

Несколько столбцов и фильтров

SELECT g.[Prod Line], g.Year, g.[Prod Port], g.[Prod Type], g.[GBP Value]
FROM [GSD Item Type Summary] g;
WHERE g.[myTableColumn1] = IN (myFilterValue1, myFilterValue2, myFilterValue3)
  AND g.[myTableColumn2] = IN (myFilterValue4, myFilterValue5, myFilterValue6)
  AND g.[myTableColumn3] = IN (myFilterValue7, myFilterValue8, myFilterValue9)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...