|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
Здравствуйте! Применяя эту функцию в запросе к ДатеПриема на работу Сотрудника получаем последний (текущий) период. Подскажиите, пж, как получить все периоды с первого года работы? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2020, 10:54 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
kniga ...получаем последний (текущий) период. Подскажиите, пж, как получить все периоды с первого года работы?... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2020, 11:20 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
Например: 1. Создаете и сохраняете запрос с именем Digits Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
2. Создаете запрос: Код: sql 1. 2. 3. 4.
Смотрите результат. Функция не нужна. ЗЫ. Идея с Digits не моя. Спасибо одноклубникам. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2020, 12:58 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
sdku, Последний(текущий) это буквально этот год , но с дня и месяца найма на работу. А все периоды я имею в виду года, начиная с самого первого года работы. Это будут как бы отчетные года для отображения потом в отчете. Сколько дней отпуска в тот или иной отчётный год было использовано сотрудником. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2020, 14:52 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
Кривцов Анатолий, Класс, спасибо! Выводит периоды какие надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2020, 15:15 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
Извиняюсь, применил запрос в своей БД и увидел, что последний (текущий) период не показывает. Например, Иванов принят 02.02.2017, то выдает 01.02.2018 01.02.2019 01.02.2020 и все, а по идее февраль уже пройден и значит надо захватить уже следющий период тоже: 01.02.2021 Как подправить? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2020, 15:36 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
kniga Иванов принят 02.02.2017, то выдает 01.02.2018 01.02.2019 01.02.2020 и все, а по идее февраль уже пройден и значит надо захватить уже следющий период тоже: 01.02.2021 Как подправить? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2020, 19:24 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
Без лишних сложностей как-то так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Код: vbnet 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2020, 23:49 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
переменная К не использована,забыл убрать,предполагалась дата увольнения-тогда б она понадобилась ... |
|||
:
Нравится:
Не нравится:
|
|||
30.03.2020, 23:55 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
sdku Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2020, 05:55 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
Большое спасибо за помощь! Подправил в запросе, все ок! А вот функция у меня что-то возвращает пустые значения.. В примере три запроса: 1) с работающей функцией на Текущий период; 2) с работающим запросом на Все периоды; 3) функция на Все периоды не возвращает значения (хотелось бы чтобы заработала). Просто еще не знаю, что будет мне удобней применить, функцию или запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2020, 10:15 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
Панург sdku Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2020, 11:09 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
kniga 3) функция на Все периоды не возвращает значения (хотелось бы чтобы заработала). Просто еще не знаю, что будет мне удобней применить, функцию или запрос. Вас этот результат устраивает? Что вы с ним будете делать дальше? Можно заполнить и вернуть двумерный массив. Вам этот термин знаком? Сначала определитесь, как и где вы будете использовать "все периоды". ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2020, 11:53 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
kniga ...3) функция на Все периоды не возвращает значения (хотелось бы чтобы заработала). Просто еще не знаю, что будет мне удобней применить, функцию или запрос. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Код: vbnet 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2020, 12:01 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
Кривцов Анатолий ...Сначала определитесь, как и где вы будете использовать "все периоды". ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2020, 12:04 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
даже вернее так:(как видите процесс доработки кода всегда имеет место быть) Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2020, 12:13 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
автор а в каком виде вы хотите получить из функции "все периоды"? Ну, в таком же виде как и с запроса. Просто в существующий запрос, который у меня работает с функц otpusk для текущ периода я попробовал добавить ваш Запрос и с первой атаки с шашкой наголо не получилось )) Буду конечно дальше пробовать. Думал если как функция будет, то проще в существующий запрос ее добавить к полю ДатаПриема ) Есть ещё в БД таблица с отпусками. Мне надо показать в отчёте сколько дней отпуска имел Сотрудник в каждом отчетном периоде с начала устройства на работу. Сотрудник. ДатаПриема Период1 (первый год работы). 25 дн Дата отпуска 2 дн Дата отпуска. 23 дн Период2 (второй год работы). 35 дн Дата отпуска. 30 дн Дата отпуска. 5 дн И т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2020, 14:40 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
kniga, как вариант: Написать процедуру, на основе предложенного кода,которая создаст(заполнит) временную таблицу а в ней Dlookup(ом)создать поля начало и конец отпуска для данного периода and конкретного клиента и использовать её(таблицу) в качестве источника для отчета(при закрытии отчета тбл.очищать) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2020, 16:02 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
sdku, спасибо за совет, "написать процедуру" это вы мне льстите :) Я умею (мой уровень) только воспользоваться кодом, поменять в нем поля и другие мелочи. Кажется почти получается с запросом, не показывает только тот период, где нет отпусков, вроде соединение Left стоит... а в отчете надо бы показать ( ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2020, 16:22 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
Я применил к полю ДатаОтпуска условие Between (ДатаС) And (ДатаПо) - начало и конец отчетного периода и соответственно где нет отпуска, период не показывается. Подскажите, пж, изменение в этом выражении, я так подозреваю в нем собака порылась )) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2020, 16:36 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
kniga автор а в каком виде вы хотите получить из функции "все периоды"? Ну, в таком же виде как и с запроса. Не понял! Ваша функция возвращает в запрос дату, которая и отражается в поле. Функция "Все периоды" вернет вам строку с перечнем периодов, вы даже это увидите, а дольше что? kniga Просто в существующий запрос, который у меня работает с функц otpusk для текущ периода я попробовал добавить ваш Запрос и с первой атаки с шашкой наголо не получилось )) kniga Есть ещё в БД таблица с отпусками. Мне надо показать в отчёте сколько дней отпуска имел Сотрудник в каждом отчетном периоде с начала устройства на работу. А иначе как? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2020, 16:36 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
kniga, between применяйте только к записям в которых поля про отпуск Not Null (ф-ции NZ или IF) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2020, 16:47 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
автор а в каком виде вы хотите получить из функции "все периоды"? Ну, в таком же виде как и с запроса. Просто в существующий запрос, который у меня работает с функц otpusk для текущ периода я попробовал добавить ваш Запрос и с первой атаки с шашкой наголо не получилось )) Буду конечно дальше пробовать. Думал если как функция будет, то проще в существующий запрос ее добавить к полю ДатаПриема ) Есть ещё в БД таблица с отпусками. Мне надо показать в отчёте сколько дней отпуска имел Сотрудник в каждом отчетном периоде с начала устройства на работу. Сотрудник. ДатаПриема Период1 (первый год работы). 25 дн Дата отпуска 2 дн Дата отпуска. 23 дн Период2 (второй год работы). 35 дн Дата отпуска. 30 дн Дата отпуска. 5 дн И т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2020, 16:49 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
kniga sdku, спасибо за совет, "написать процедуру" это вы мне льстите :) Я умею (мой уровень) только воспользоваться кодом, поменять в нем поля и другие мелочи... ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2020, 17:36 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
sdku, авторсочиню код спасибо! ) Но вот пытаюсь пока запросом от Анатолия. Как я писал выше, осталось решить один нюас, т.е. показать период, если в нем нет отпуска. Я выложил пример, где две связанные таблицы и запрос с периодами и отпусками в течение этих периодов. Возможно ли в запросе "Отпуска" определить, что подзапрос с периодами отображает все данные (периоды) всегда , независимо от того, есть ли в этот период отпуск или нет (просто пустые строки в полях с датами отпуска)? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2020, 13:49 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
kniga Но вот пытаюсь пока запросом от Анатолия. Как я писал выше, осталось решить один нюас, т.е. показать период, если в нем нет отпуска. Если в запросе используется LEFT JOIN, то к таблиуе/запросу на стороне стрелки имеет смысл применить только условие NOT NULL к обязательному полю (нет подчиненных записей). Любые другие условия не дадут вам желаемый результат, вернее дадут тот же, что и пр INNER JOIN. Для вашей задачи создайте еще один запрос: Код: sql 1. 2. 3.
Но давайте обсудим тему отпусков. Есть отработанный период, за который предоставляется отпуск. Обычно в следующем периоде весь, или частями. Иногда авансом в том же периоде, а иногда с задержкой аж черех год или еще позднее. Поэтому для правильной работы в таблице отпусков должен быть указан номер периода (я вам писал вчера, но ответ влез на час раньше вопроса, возможно и не заметили). Вы же пытаетесь получить нечто непонятное. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2020, 15:33 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
Кривцов Анатолий, спасибо за конструкцию! Сейчас буду пробовать. авторА еще можете добавить поле "n" из "nn" и получите номер периода. это я видел, хотя тоже отметил, что ответы и вопросы перемешались, да еще продублировалось у меня, хотя я этого не делал ) Я не совсем понял куда добавить поле с номером периода ("n"). В примере оно у меня добавлено в запросе, но никакого влияния не оказало, только ориентироваться легче стало конечно, видно, что, например, первого периода нет (если нет отпуска :) Да, по отпускам у нас так и есть, могут и два года не выходить, а потом частями нагоняют. Вот для лучшего ориентира, я и хочу отразить периоды, а в них отпуска. Отчет я приготовил, он показывает почти как задумывалось кроме того периода, у которого нет отпуска ) В приложении Отчет, где Дата приема сотрудника 09.06.2010 и он в первый год не брал отпуск, поэтому в отчете не отображается ( ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2020, 17:24 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
Кривцов Анатолий, Код: vbnet 1. 2. 3.
Да! В примере четко все как надо, сейчас в реалбазу буду вставлять, но думаю все получится, спасибо!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2020, 17:41 |
|
Получить в запросе Отчетные периоды по годам с Даты принятия на работу Сотрудника
|
|||
---|---|---|---|
#18+
Можно так(как вариант): -иметь таблицу с полями необходимыми для Вашего отчета работник, периодС, периодПО, отпускС, отпускПО, допОтпускС, допОтпускПО -при запуске БД проверять наличие записи содержащей период,относительно Date и если новый(следующий) период уже начался,а записи еще нет в таблице автоматически добавлять её запросом на добавление в процедурой VBA(совместив проверку и добавление) в таблицу,с заполненными полями:[работник],[периодС],[периодПО] -при предоставлении отпуска найти(еще процедура VBA) в форме нужного работника и заполнить поля про отпуск -создать отчет на этой таблице ... |
|||
:
Нравится:
Не нравится:
|
|||
02.04.2020, 00:21 |
|
|
start [/forum/topic.php?all=1&fid=45&tid=1610154]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
others: | 343ms |
total: | 494ms |
0 / 0 |