Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Запрос "Вакансии"
 
 автор: TimRus   (09.06.2010 в 20:45)   личное сообщение
28 Кб.
 
 

Здравствуйте!!! Помогите найти ошибку в запросе...
Суть данного запроса в следующем: он должен определять количество вакантных штатных единиц на предприятие (вакантные места - это должности в штатном расписании, которые никогда не занимались+частично занятые должности+должности, освободившиеся в результате увольнения сотрудника).
Загвоздка в следующем: запрос работает неправильно хоть и в таблице "Кадры" есть должности которые освободились (например "Администратор" - код 1).
Заранее спасибо!!!

  Ответить  
 
 автор: Гоблин   (09.06.2010 в 23:40)   личное сообщение
 
 

Попробуй убрать таблу должности. Пусть в ШР будет сама должность, а не ссылка на нее через код. В запросе вместе с подразделением они разделятся. Ну а там дело техники.

  Ответить  
 
 автор: katerpeller   (13.06.2010 в 17:18)   личное сообщение
 
 

Запрос работает обалденно. Просто все занято. Вакансий нет. Вы можете оставить Ваше резюме. Как только появится подходящая Вам вакансия мы с Вами обязательно свяжемся.

  Ответить  
 
 автор: TimRus   (13.06.2010 в 18:14)   личное сообщение
 
 

Вакансия есть!!! Вот например "Администратор" - код 1, уволен так как дата по заполнена

  Ответить  
 
 автор: lulukyan   (13.06.2010 в 20:21)   личное сообщение
 
 

вот sql запрос:
SELECT ШР.КодШР, Подразделения.НаимПодразделения AS Подразделение, Должности.НаимДолжности AS Должность, ШР.Единиц AS Всего, Sum(Кадры.КолСтавок) AS Занято
FROM (Подразделения INNER JOIN (Должности INNER JOIN ШР ON Должности.КодДолжности = ШР.КодДолжности) ON Подразделения.КодПодразделения = ШР.КодПодразделения) LEFT JOIN Кадры ON ШР.КодШР = Кадры.КодШР
WHERE ((([Единиц]-NZ(DSum([Кадры].[КолСтавок],"Кадры","КодШР=" & [ШР].[КодШР] & " AND isnull(ДатаПо)")))>0) AND ((ШР.ДатаС)<=Date()) AND ((ШР.ДатаПо) Is Null))
GROUP BY ШР.КодШР, Подразделения.НаимПодразделения, Должности.НаимДолжности, ШР.Единиц
ORDER BY Подразделения.НаимПодразделения, Должности.НаимДолжности;

Проблема была в функции Sum в поле Занято. Вместо неё следует использовать DSum

  Ответить  
 
 автор: TimRus   (13.06.2010 в 20:38)   личное сообщение
 
 

Спасибо!!!

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList