Форумы HiProg.com - MS ACCESS, VBA, VB

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

ник: Анатолий (Киев)
Чисто для вашего примера:


TRANSFORM "с " + Str(Min([разрешения]![разр_с])) + " по " + Str(Max([разрешения]![разр_до])) AS Выражение1
SELECT Сотрудники.фамилия, Сотрудники.имя
FROM Сотрудники INNER JOIN (Комп INNER JOIN разрешения ON Комп.id_комп = разрешения.компания) ON Сотрудники.Id_сотр = разрешения.Id_сотр
GROUP BY Сотрудники.фамилия, Сотрудники.имя
PIVOT "Период работы в " & [Комп]![имя_комп];


Но если Лютиков поработает в А, затем в Б, снова в А и опять в Б - такой запрос не годится, т.к. вернет для каждой фирмы мин. и макс. даты. В этом случае нужно рисовать функцию, возвращающую строку с периодами для каждого сотрудника и фирмы, использовать ее в запросе с группировками по этим полям, а на его основе строить перекрестный запрос.

ЗЫ. Зачем в "Сотрудники" поле "Id_компании"?


Ваше имя:

Пароль:

Цитировать: [quote][/quote] Код: [code][/code]
Жирный: [b][/b] Наклонный: [i][/i]
URL: [url][/url] 

Сообщение:

 Размер файла не более 50 Кбт. Большие файлы можно размещать на www.slil.ru

Прикрепить:

 

Для вставки смайлов в текст щелкните по значку.