Как вы делаете запрос кросс-таблицы в Access с фиксированным количеством столбцов - PullRequest
2 голосов
/ 02 июня 2009

Я хочу получить данные с помощью кросс-таблицы MS Access, чтобы связать их с отчетом. При загрузке страницы я получаю сообщение об ошибке «3637»: невозможно использовать перекрестную таблицу нефиксированного столбца в качестве подзапроса.

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

1 Ответ

1 голос
/ 02 июня 2009

Subquery? Это одна из моих слабостей, когда дело доходит до Access, поэтому я не могу вам помочь. Я бы посоветовал опубликовать SQL запроса, чтобы другие могли посмотреть. И что происходит, когда вы запускаете запрос?

Ниже приведен запрос, который я использую для определения стоимости за последние десять лет для данной единицы. ТРАНСФОРМ Сумма (ServiceRecords.srTotalCost) AS Годовая стоимость ВЫБЕРИТЕ ServiceRecords.srEquipmentID FROM ServiceRecords GROUP BY ServiceRecords.srEquipmentID PIVOT "C" & DateDiff ("гггг", [srServiceDate], Date ()) In ("C9", "C8", "C7", "C6", "C5", "C4", "C3", " С2" , "С1", "С0");

Трюк после PIVOT. Поскольку я хочу получить данные за последние десять лет, часть "C" и DateDiff устанавливает строковую переменную, вызывающую C0 к C9. Часть после In указывает, в какой столбец нужно добавлять вещи.

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

Если этого недостаточно для начала работы, укажите тип данных, которые вы пытаетесь создать кросс-таблицу.

Fellow Access MVP, у Аллена Брауна есть хорошая страница на эту тему. Методы перекрестных запросов

...