Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Составной Индекс в табеле учета рабочего времени?  [new]
Игорь С
Member

Откуда: Iндепендна Юкрейна
Сообщений: 515
Для сохранении табеля текущего месяца в единую таблицу "истории табелей" какой составной индекс создать?
Запись в табеле характеризуется:
1. Код сотрудника (уникален)
2. Код проекта (уникален для таблицы проектов, но сотрудник может участвовать в нескольких проектах,
проекты могут изменяться, добавляться, прерываться в середине месяца), кстати, проекта может вообще не быть (тогда я ему
присваиваю код сотрудника со знаком минус).
3. Месяц в году.
4. Год.

С удалением "ошибочно введеных сотрудников или контрактов" вроде бы ясно. Это удаление должна обеспечить схема данных.

А вот с добавлением записей (например, задним числом добавляется сотрудник со своим набором проектов),
опыта нет, правильно ли я понимаю предложенную индексацию? Или следует строить базу как-то по-другому.
17 июл 19, 14:15    [21928582]     Ответить | Цитировать Сообщить модератору
 Re: Составной Индекс в табеле учета рабочего времени?  [new]
bubucha
Member

Откуда:
Сообщений: 5396
автор
3. Месяц в году.
4. Год.

?
17 июл 19, 14:22    [21928589]     Ответить | Цитировать Сообщить модератору
 Re: Составной Индекс в табеле учета рабочего времени?  [new]
bubucha
Member

Откуда:
Сообщений: 5396
автор
тогда я ему присваиваю код сотрудника со знаком минус

тоже ??
17 июл 19, 14:23    [21928590]     Ответить | Цитировать Сообщить модератору
 Re: Составной Индекс в табеле учета рабочего времени?  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 1784
bubucha
автор
3. Месяц в году.
4. Год.

?

Так же поступаю (нарушаю нормализацию)Картинка с другого сайта.
17 июл 19, 15:04    [21928663]     Ответить | Цитировать Сообщить модератору
 Re: Составной Индекс в табеле учета рабочего времени?  [new]
bubucha
Member

Откуда:
Сообщений: 5396
ROI
bubucha
пропущено...

?

Так же поступаю (нарушаю нормализацию)Картинка с другого сайта.

да ради бога))))
можно услышать аргументы в пользу такого решения?...если не сложно
17 июл 19, 15:30    [21928692]     Ответить | Цитировать Сообщить модератору
 Re: Составной Индекс в табеле учета рабочего времени?  [new]
Игорь С
Member

Откуда: Iндепендна Юкрейна
Сообщений: 515
bubucha,

Если можно, то кратко поясните некорректность и как разрешать проблему.

Ведь создав такой индекс, по-моему легко проверять есть ли такая запись в текущем месяце или прошлых.

А иначе как? Писать сложный условный оператор на проверку совпадения четырех полей? Или это делается легко доступными средствами? Какой путь правильный?
17 июл 19, 16:54    [21928781]     Ответить | Цитировать Сообщить модератору
 Re: Составной Индекс в табеле учета рабочего времени?  [new]
Игорь С
Member

Откуда: Iндепендна Юкрейна
Сообщений: 515
ROI,
Будьте так любезны, если можно, подробнее изложите "как делаете" и "что нарушаете"
17 июл 19, 20:24    [21928902]     Ответить | Цитировать Сообщить модератору
 Re: Составной Индекс в табеле учета рабочего времени?  [new]
Игорь С
Member

Откуда: Iндепендна Юкрейна
Сообщений: 515
Кажется нашел: https://www.sql.ru/forum/674432/zapros-na-ne-sovpadaushhie-zapisi#
17 июл 19, 20:48    [21928917]     Ответить | Цитировать Сообщить модератору
 Re: Составной Индекс в табеле учета рабочего времени?  [new]
ROI
Member

Откуда: г. Тюмень
Сообщений: 1784
Игорь С
ROI,
Будьте так любезны, если можно, подробнее изложите "как делаете" и "что нарушаете"

В основном использую такое (месяц, год,число и редко неделя)
Для календарей, расписаний, планирование ....
18 июл 19, 05:42    [21929039]     Ответить | Цитировать Сообщить модератору
 Re: Составной Индекс в табеле учета рабочего времени?  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6179
Вопрос ТСа касается структуры БД и таблиц в ней.Считаю что не видя БД и не зная какие задачи решаются ответить на вопрос ТСа навряд ли возможно.
18 июл 19, 14:43    [21929481]     Ответить | Цитировать Сообщить модератору
 Re: Составной Индекс в табеле учета рабочего времени?  [new]
bubucha
Member

Откуда:
Сообщений: 5396
Игорь С
bubucha,
Если можно, то кратко поясните некорректность и как разрешать проблему.

да хз ...просто нарезка даты на составляющие, лично у меня, вызывает нехорошие мысли о не совсем продуманной постановке задачи, впрочем как и
автор
тогда я ему
присваиваю код сотрудника со знаком минус

Из описания я могу нафантазировать следующее: сотрудник в определенный период времени участвует (или не участвует) в том или ином проекте. Как мне видится, период его участия - это именно интервал С и ПО , а не просто месяц.
Как сотрудник попадает(выбывает) в проект? Наверняка есть некий документ, который этот факт фиксирует. Это я к тому, что я бы сохранял именно документы, а табель это уже как производная от этих документов...если конечно сам табель не является документом. Это только самая банальная фантазия, по факту у вас все может быть не так.
Т.е. по сути , как уже писала коллега:
sdku
Вопрос ТСа касается структуры БД и таблиц в ней.


зы а чем вызвана необходимость отдельной таблицы истории?
22 июл 19, 14:26    [21931746]     Ответить | Цитировать Сообщить модератору
 Re: Составной Индекс в табеле учета рабочего времени?  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6179
bubucha
...просто нарезка даты на составляющие, лично у меня, вызывает нехорошие мысли...
Весьма дипломатично, однако.
bubucha
...Т.е. по сути , как уже писала коллега:...
Так Вы женщина?(Гусарская баллада)
Я мужчина-думаю очепятка(может фото НЮ выложить в профиле?)
22 июл 19, 15:42    [21931818]     Ответить | Цитировать Сообщить модератору
 Re: Составной Индекс в табеле учета рабочего времени?  [new]
bubucha
Member

Откуда:
Сообщений: 5396
sdku
bubucha
...просто нарезка даты на составляющие, лично у меня, вызывает нехорошие мысли...
Весьма дипломатично, однако.
bubucha
...Т.е. по сути , как уже писала коллега:...
Так Вы женщина?(Гусарская баллада)
Я мужчина-думаю очепятка(может фото НЮ выложить в профиле?)


Приношу благородному дону глубочайшие извинения за возникшее недоразумение.
22 июл 19, 20:05    [21932079]     Ответить | Цитировать Сообщить модератору
 Re: Составной Индекс в табеле учета рабочего времени?  [new]
Игорь С
Member

Откуда: Iндепендна Юкрейна
Сообщений: 515
ROI, Спасибо.
25 июл 19, 10:46    [21934105]     Ответить | Цитировать Сообщить модератору
 Re: Составной Индекс в табеле учета рабочего времени?  [new]
Игорь С
Member

Откуда: Iндепендна Юкрейна
Сообщений: 515
bubucha

зы а чем вызвана необходимость отдельной таблицы истории?


Нужно ведь куда-то сохранять табеля, чтобы потом подводить итоги за квартал, полугодие, год.
25 июл 19, 10:52    [21934110]     Ответить | Цитировать Сообщить модератору
 Re: Составной Индекс в табеле учета рабочего времени?  [new]
Игорь С
Member

Откуда: Iндепендна Юкрейна
Сообщений: 515
Выкладываю усеченную базу.
Об индексе уже речи нет. Подробные комментарии в форме (в базе).
Уперся в сообщение: Run-time error '3072':
"Недопустимый аргумент функции"

Сообщение выходит при попытке выполнить запрос поиска записей в истории, соответствующих вновь прибывшему сотруднику или новому проекту в данном месяце (июль 2019). Вроде бы сравниваю только числовые поля (не текстовые) как рекомендует Help.

Если условие отбора не ставить (см. базу), то ошибка не выходит.
Проконсультируйте пожалуйста.

К сообщению приложен файл (SAData2010.zip - 135Kb) cкачать
25 июл 19, 11:20    [21934134]     Ответить | Цитировать Сообщить модератору
 Re: Составной Индекс в табеле учета рабочего времени?  [new]
Игорь С
Member

Откуда: Iндепендна Юкрейна
Сообщений: 515
Игорь С,
Да еще следует добавить, что подсчет записей в запросе выполняется функцией
Me.fld1 = Nz(DCount("*", "QPC_ProjectForContractorsALL_Select")) См. базу
25 июл 19, 11:25    [21934145]     Ответить | Цитировать Сообщить модератору
 Re: Составной Индекс в табеле учета рабочего времени?  [new]
Игорь С
Member

Откуда: Iндепендна Юкрейна
Сообщений: 515
Игорь С,
И еще: при инициализации глобальных переменных запрос "... _Select" в виде таблицы правильно показывает одну запись, которую нужно добавить.
25 июл 19, 12:21    [21934230]     Ответить | Цитировать Сообщить модератору
 Re: Составной Индекс в табеле учета рабочего времени?  [new]
Игорь С
Member

Откуда: Iндепендна Юкрейна
Сообщений: 515
sdku
Вопрос ТСа касается структуры БД и таблиц в ней.Считаю что не видя БД и не зная какие задачи решаются ответить на вопрос ТСа навряд ли возможно.


Базу выложил, если можно гляньте "одним глазом".
25 июл 19, 20:40    [21934810]     Ответить | Цитировать Сообщить модератору
 Re: Составной Индекс в табеле учета рабочего времени?  [new]
Игорь С
Member

Откуда: Iндепендна Юкрейна
Сообщений: 515
bubucha
Из описания я могу нафантазировать следующее: сотрудник в определенный период времени участвует (или не участвует) в том или ином проекте. Как мне видится, период его участия - это именно интервал С и ПО , а не просто месяц.
Как сотрудник попадает(выбывает) в проект? Наверняка есть некий документ, который этот факт фиксирует. Это я к тому, что я бы сохранял именно документы, а табель это уже как производная от этих документов...если конечно сам табель не является документом. Это только самая банальная фантазия, по факту у вас все может быть не так.

Все правильно, этот Аксессовский табель и есть документ. В нем фиксируется проект С и ПО для соответствующих сотрудников и на них сносятся затраты в соответствующие даты.
Переделки потребовались, когда один сотрудник начал работать над несколькими проектами, кроме того оказалось, что проекты могут начинаться в середине месяца, и сотрудники могут наниматься и увольняться в середине месяца.

А требуется почасовый учет трудозатрат.
25 июл 19, 20:51    [21934817]     Ответить | Цитировать Сообщить модератору
 Re: Составной Индекс в табеле учета рабочего времени?  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6179
Игорь С
Базу выложил, если можно гляньте "одним глазом".
Не открывает-пишет нераспознаваемый формат
может сохраните до А-2007?
25 июл 19, 21:09    [21934827]     Ответить | Цитировать Сообщить модератору
 Re: Составной Индекс в табеле учета рабочего времени?  [new]
Игорь С
Member

Откуда: Iндепендна Юкрейна
Сообщений: 515
sdku
Игорь С
Базу выложил, если можно гляньте "одним глазом".
Не открывает-пишет нераспознаваемый формат
может сохраните до А-2007?

Так база выложена в формате accdb. Странслирована 2010-м.

Пробовал и в 97-м и 2003-м. Они просто на вычислении функции DCount("*" ... выгружаются.

Сейчас вычистил модули Global - оставил две функции f_nYear() и f_nMonth() и в модуле DateProcess оставил одну функцию.
Все то же самое.

Там у меня одно изобретение: в запросе QPC_ProjectForContractorsNo коду проекта (Cod_Proj: -[Account data]!COD) присваивается значение кода сотрудника с минусом (проекта нет, но желателен уникальный код). Вроде бы получается уникальное целое число..., но как оно может повлиять.
25 июл 19, 21:31    [21934840]     Ответить | Цитировать Сообщить модератору
 Re: Составной Индекс в табеле учета рабочего времени?  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 6179
Игорь С
Пробовал и в 97-м и 2003-м. Они просто на вычислении функции DCount("*" ... выгружаются.
Dcount работал на ура еще до 97
25 июл 19, 21:49    [21934845]     Ответить | Цитировать Сообщить модератору
 Re: Составной Индекс в табеле учета рабочего времени?  [new]
Игорь С
Member

Откуда: Iндепендна Юкрейна
Сообщений: 515
Еще более упростил файл "базы". Убрал все лишние функции в модулях.
Быть может кто-нибудь поможет.

К сообщению приложен файл (SAData2010a.zip - 114Kb) cкачать
25 июл 19, 21:49    [21934846]     Ответить | Цитировать Сообщить модератору
 Re: Составной Индекс в табеле учета рабочего времени?  [new]
Игорь С
Member

Откуда: Iндепендна Юкрейна
Сообщений: 515
sdku
Dcount работал на ура еще до 97


Все когда-то работает, а иногда сбоит.
25 июл 19, 21:52    [21934847]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Microsoft Access Ответить