|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
Для сохранении табеля текущего месяца в единую таблицу "истории табелей" какой составной индекс создать? Запись в табеле характеризуется: 1. Код сотрудника (уникален) 2. Код проекта (уникален для таблицы проектов, но сотрудник может участвовать в нескольких проектах, проекты могут изменяться, добавляться, прерываться в середине месяца), кстати, проекта может вообще не быть (тогда я ему присваиваю код сотрудника со знаком минус). 3. Месяц в году. 4. Год. С удалением "ошибочно введеных сотрудников или контрактов" вроде бы ясно. Это удаление должна обеспечить схема данных. А вот с добавлением записей (например, задним числом добавляется сотрудник со своим набором проектов), опыта нет, правильно ли я понимаю предложенную индексацию? Или следует строить базу как-то по-другому. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2019, 14:15 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
автор3. Месяц в году. 4. Год. ? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2019, 14:22 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
автортогда я ему присваиваю код сотрудника со знаком минус тоже ?? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2019, 14:23 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2019, 15:04 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
ROIbubuchaпропущено... ? Так же поступаю (нарушаю нормализацию) да ради бога)))) можно услышать аргументы в пользу такого решения?...если не сложно ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2019, 15:30 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
bubucha, Если можно, то кратко поясните некорректность и как разрешать проблему. Ведь создав такой индекс, по-моему легко проверять есть ли такая запись в текущем месяце или прошлых. А иначе как? Писать сложный условный оператор на проверку совпадения четырех полей? Или это делается легко доступными средствами? Какой путь правильный? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2019, 16:54 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
ROI, Будьте так любезны, если можно, подробнее изложите "как делаете" и "что нарушаете" ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2019, 20:24 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2019, 20:48 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
Игорь СROI, Будьте так любезны, если можно, подробнее изложите "как делаете" и "что нарушаете" В основном использую такое (месяц, год,число и редко неделя) Для календарей, расписаний, планирование .... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2019, 05:42 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
Вопрос ТСа касается структуры БД и таблиц в ней.Считаю что не видя БД и не зная какие задачи решаются ответить на вопрос ТСа навряд ли возможно. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2019, 14:43 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
Игорь Сbubucha, Если можно, то кратко поясните некорректность и как разрешать проблему. да хз ...просто нарезка даты на составляющие, лично у меня, вызывает нехорошие мысли о не совсем продуманной постановке задачи, впрочем как иавтортогда я ему присваиваю код сотрудника со знаком минус Из описания я могу нафантазировать следующее: сотрудник в определенный период времени участвует (или не участвует) в том или ином проекте. Как мне видится, период его участия - это именно интервал С и ПО , а не просто месяц. Как сотрудник попадает(выбывает) в проект? Наверняка есть некий документ, который этот факт фиксирует. Это я к тому, что я бы сохранял именно документы, а табель это уже как производная от этих документов...если конечно сам табель не является документом. Это только самая банальная фантазия, по факту у вас все может быть не так. Т.е. по сути , как уже писала коллега: sdkuВопрос ТСа касается структуры БД и таблиц в ней. зы а чем вызвана необходимость отдельной таблицы истории? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 14:26 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
bubucha ...просто нарезка даты на составляющие, лично у меня, вызывает нехорошие мысли...Весьма дипломатично, однако. bubucha...Т.е. по сути , как уже писал а коллега:... Так Вы женщина?(Гусарская баллада) Я мужчина-думаю очепятка(может фото НЮ выложить в профиле?) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 15:42 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
sdkububucha ...просто нарезка даты на составляющие, лично у меня, вызывает нехорошие мысли...Весьма дипломатично, однако. bubucha...Т.е. по сути , как уже писал а коллега:... Так Вы женщина?(Гусарская баллада) Я мужчина-думаю очепятка(может фото НЮ выложить в профиле?) Приношу благородному дону глубочайшие извинения за возникшее недоразумение. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2019, 20:05 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
ROI, Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 10:46 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
bubucha зы а чем вызвана необходимость отдельной таблицы истории? Нужно ведь куда-то сохранять табеля, чтобы потом подводить итоги за квартал, полугодие, год. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 10:52 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
Выкладываю усеченную базу. Об индексе уже речи нет. Подробные комментарии в форме (в базе). Уперся в сообщение: Run-time error '3072': "Недопустимый аргумент функции" Сообщение выходит при попытке выполнить запрос поиска записей в истории, соответствующих вновь прибывшему сотруднику или новому проекту в данном месяце (июль 2019). Вроде бы сравниваю только числовые поля (не текстовые) как рекомендует Help. Если условие отбора не ставить (см. базу), то ошибка не выходит. Проконсультируйте пожалуйста. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 11:20 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
Игорь С, Да еще следует добавить, что подсчет записей в запросе выполняется функцией Me.fld1 = Nz(DCount("*", "QPC_ProjectForContractorsALL_Select")) См. базу ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 11:25 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
Игорь С, И еще: при инициализации глобальных переменных запрос "... _Select" в виде таблицы правильно показывает одну запись, которую нужно добавить. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 12:21 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
sdkuВопрос ТСа касается структуры БД и таблиц в ней.Считаю что не видя БД и не зная какие задачи решаются ответить на вопрос ТСа навряд ли возможно. Базу выложил, если можно гляньте "одним глазом". ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 20:40 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
bubuchaИз описания я могу нафантазировать следующее: сотрудник в определенный период времени участвует (или не участвует) в том или ином проекте. Как мне видится, период его участия - это именно интервал С и ПО , а не просто месяц. Как сотрудник попадает(выбывает) в проект? Наверняка есть некий документ, который этот факт фиксирует. Это я к тому, что я бы сохранял именно документы, а табель это уже как производная от этих документов...если конечно сам табель не является документом. Это только самая банальная фантазия, по факту у вас все может быть не так. Все правильно, этот Аксессовский табель и есть документ. В нем фиксируется проект С и ПО для соответствующих сотрудников и на них сносятся затраты в соответствующие даты. Переделки потребовались, когда один сотрудник начал работать над несколькими проектами, кроме того оказалось, что проекты могут начинаться в середине месяца, и сотрудники могут наниматься и увольняться в середине месяца. А требуется почасовый учет трудозатрат. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 20:51 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
Игорь СБазу выложил, если можно гляньте "одним глазом".Не открывает-пишет нераспознаваемый формат может сохраните до А-2007? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 21:09 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
sdkuИгорь СБазу выложил, если можно гляньте "одним глазом".Не открывает-пишет нераспознаваемый формат может сохраните до А-2007? Так база выложена в формате accdb. Странслирована 2010-м. Пробовал и в 97-м и 2003-м. Они просто на вычислении функции DCount("*" ... выгружаются. Сейчас вычистил модули Global - оставил две функции f_nYear() и f_nMonth() и в модуле DateProcess оставил одну функцию. Все то же самое. Там у меня одно изобретение: в запросе QPC_ProjectForContractorsNo коду проекта (Cod_Proj: -[Account data]!COD) присваивается значение кода сотрудника с минусом (проекта нет, но желателен уникальный код). Вроде бы получается уникальное целое число..., но как оно может повлиять. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 21:31 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
Игорь СПробовал и в 97-м и 2003-м. Они просто на вычислении функции DCount("*" ... выгружаются. Dcount работал на ура еще до 97 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 21:49 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
Еще более упростил файл "базы". Убрал все лишние функции в модулях. Быть может кто-нибудь поможет. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 21:49 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
sdkuDcount работал на ура еще до 97 Все когда-то работает, а иногда сбоит. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 21:52 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
все то же самое-нераспознаваемый формат (а у кого-нибудь открывается-может преобразуете) Игорь СВсе когда-то работает, а иногда сбоит. 21927397 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 23:24 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
sdkuвсе то же самое-нераспознаваемый формат (а у кого-нибудь открывается-может преобразуете) 21927397 Уважаемый sdku. Я не понял. У меня используются только целые числа. Здесь нет неточных операций. Поясните, если можно подробнее, что Вы имеете в виду. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.07.2019, 23:38 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
Игорь С, Я имею ввиду:не грешите на стандартную функцию VBA-ищите ошибки в своих действиях А что нельзя "состряпать" пример в *mdb? Если есть желание и если окажется в тему попробуйте разобраться: -форма [главная](единственный объект в БД с которым общается юзер,плюс формы для заполнения справочников: существующая и вновь созданные) -В форме выводится число столбцов равное количеству дней в месяце на который составляется табель -выводятся все работники которые трудятся в настоящий момент -если табель уже создан выводится существующий,если нет создается новый -имеются ограничения-создать табель ранее чем за (не помню сколько) месяцев не возможно -создавал на скорую руку (кому-то что-то объяснял-возможны недостатки) но для демонстрации логики работы и ряда решений(которые могут быть значительно упрощены)сгодится ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2019, 10:42 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
Глубокоуважаемый sdku, спасибо, но, - этот файл табеля мною уже полтора года как (03.01.18) скачан и просмотрен. Есть и другие табеля; - я уже давно, никогда не грешу на стандартные функции (еще со времен Фортрана 77). Ситуация такова, что уже для работающего табеля попросили сделать "небольшие" изменения и началось ... Сейчас исправлю ситуацию и попытаюсь изложить все подробно, хотя причина не найдена. Возможно два складывающихся запроса, и результирующий 5-и "этажный" дают такой результат, пока не могу сказать. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2019, 13:43 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
Игорь С, ну так выложите таблицы и поясните что надо сделать (думаю так скачается-можете оставить некоторые другие объекты,вид которых важен,удалив источник данных-так будет понятней что Вы хотите) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.07.2019, 15:48 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
Уважаемый sdku, Выкладываю результаты "исследования" Проблема: Табель учета рабочего времени в месяце. Записям в табеле соответствует сотрудники и проекты, по которым он работает (т.е. у одному сотруднику могут соответствовать несколько записей (проектов)), имеются также сотрудники "без проектов". Задача: в таблицу табеля текущего месяца (который начал уже заполняться) добавить запись вновь прибывшего сотрудника с назначенным ему проектом, или назначить проект сотруднику, или добавить сотруднику еще один проект (или не один), или добавить сотрудника без проекта. Т.е. имеется задача поиска отсутствия комбинации двух целочисленных параметров (кодов) в таблице. Задача кода проекта для сотрудника без проекта решена путем присвоения коду его проекта кода этого сотрудника со знаком минус. На форуме мне предложили подобное решение см. файл базы: Код: sql 1. 2. 3. 4.
Оно хотя и работало в режиме таблицы, но давало ошибку при подсчете записей в этом запросе с помощью DCount("*" ... В результате был найден (подсказали) запрос с предложением INNER JOIN, а именно для данного случая: Код: sql 1. 2. 3. 4.
Также рассмотрены варианты (работающие быстрее) с предложением LEFT JOIN, работающие при условии сброса данных одного из запросов в промежуточную таблицу. Файл базы с комментариями и функционалом прилагается. Причина не работоспособности первого запроса не выяснена. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2019, 23:55 |
|
Составной Индекс в табеле учета рабочего времени?
|
|||
---|---|---|---|
#18+
Игорь С, У меня А-2007 и даже в режиме ограниченной функциональности Ваш файл не открывается Сбросьте в формате *.mdb только таблицы и форму (ы выходных документов)-что Вы хотите видеть как и с чем работать(без какого-либо кода)-не могу "вкурить" как должен выглядеть и какие данные отражать(и предназначен он для ввода или это делается в других формах(форме) . Если сделаете это помогу-иначе я пас ... |
|||
:
Нравится:
Не нравится:
|
|||
28.07.2019, 15:34 |
|
|
start [/forum/topic.php?all=1&fid=45&tid=1610563]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 165ms |
0 / 0 |