Собственно, суть задачи: есть некая БД - суть набор выгруженных в Access 2007 с Sharepoint-портала таблиц с данными по проекту. Таблица smb_deployment содержит в себе, среди прочих, колонки с названием [customer name] и [presale name], суть которых: название заказчика и имя ответственного(ных) сотрудника(ов); при этом поле [presale name] многозначное, то есть может содержать в себе больше одного имени (так как работать с заказчиком могут одновременно несколько человек) и имена "подтягиваются" соответствии с ID из таблицы [User Information List], содержащей в себе данные обо всех пользователях данного узла sharepoint; для представления информации из таблицы в виде презентации для руководства есть утилита, которая умеет генерировать слайды из БД, используя при этом SQL-запросы - собственно, это и есть интрига всей задачи, ибо нужно составить SELECT таким образом, чтобы для одной строки из выборки генерировать один слайд.
Другими словами, задача, если посмотреть на нее, так сказать, с высоты птичьего полета, состоит в следующем - сделать на основе собранных в виде списка на узле Sharepoint данных по текущим и завершенным проектам презентацию, отражающую информацию о работе команды за год.
После медитаций над справкой по запросам в Access 2007 и нескольких проб и ошибок, окончательное решение приняло вид вот такого запроса:
SELECT smb_deployment.[Customer name], smb_deployment.[Presale name] FROM [User Information List] INNER JOIN smb_deployment ON [User Information List].ID = smb_deployment.[Presale name].Value;
С точки зрения всей задачи - это только конструкция, которая будет вложенной в такой же SELECT, который и будет непосредственно формировать recordset для передачи в утилиту ptrreportgen, пробную версию которой можно взять здесь: http://www.ljzsoft.com/index.htm?PTRPT
Комментариев нет:
Отправить комментарий