powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Сканирование сотрудников
21 сообщений из 21, страница 1 из 1
Сканирование сотрудников
    #39236753
b.kryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день

Есть данные по сотрудникам, в формате:
айди сотрудника,
дата и время его сканировки по карточке.

Суть в чем: нужно определить, во сколько он пришел на работу и ушел с неё (это просто: min/max по дате-времени), а так же:
1. Сколько раз он выходил за день
2. Сколько времени провёл ВНЕ офиса. Вот пример:
29.04.2016 9:18
29.04.2016 11:46
29.04.2016 11:52
29.04.2016 13:17
29.04.2016 13:23
29.04.2016 15:06
29.04.2016 15:11
29.04.2016 17:36
29.04.2016 17:36
29.04.2016 17:43
29.04.2016 18:05

Каким методом из подобного набора временных значений можно вывести такой расчет, при том что у каждого сотрудника может быть разное кол-во сканировок за день или же их может не быть вовсе.

Расчет необходимо сделать в access.
...
Рейтинг: 0 / 0
Сканирование сотрудников
    #39236758
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В таблице нехватает данных. Невозможно для отдельной записи определить, был вход или выход.
...
Рейтинг: 0 / 0
Сканирование сотрудников
    #39236761
b.kryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А если попробовать завязать на цикл, который будет отбирать каждую следующую min дату/время? Хотя бы так, только я и в данном варианте не знаю как зациклить правильно запрос через VBA
...
Рейтинг: 0 / 0
Сканирование сотрудников
    #39236772
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никакие подобные "игрища" не устранят существующей проблемы.
...
Рейтинг: 0 / 0
Сканирование сотрудников
    #39236773
b.kryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В случае с примером диапазона дат выше, результат на выходе хочется получить такой:

Скан 1 Скан 2
29.04.2016 9:18
29.04.2016 11:46 29.04.2016 11:52
29.04.2016 13:17 29.04.2016 13:23
29.04.2016 15:06 29.04.2016 15:11
29.04.2016 17:36 29.04.2016 17:36
29.04.2016 17:43 ------
29.04.2016 18:05 29.04.2016 18:05

Вот как его можно добиться, посредством аксесса?
...
Рейтинг: 0 / 0
Сканирование сотрудников
    #39236783
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
b.kryukov,

непонятно, особенно 17-36 и 18-05
Скан1Скан229.04.20169:1829.04.201611:4629.04.201611:5229.04.201613:1729.04.201613:2329.04.201615:0629.04.201615:1129.04.201617:3629.04.201617:3629.04.201617:43------29.04.201618:0529.04.201618:05
...
Рейтинг: 0 / 0
Сканирование сотрудников
    #39236784
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
b.kryukov,

где здесь вход, где выход
...
Рейтинг: 0 / 0
Сканирование сотрудников
    #39236793
b.kryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА,

17-36 - дело в том, что там разница в несколько секунд, просто секунды не видно. Поэтому скан 1 и скан 2 - 17-36

18-05 это последний скан. Он, по сути, в данном случае уже не нужен, т.к. высчитывается первым запросом maxDat.

Нужно, чтобы даты в промежутке от наименьшей до наибольшей, отсортировались по принципу:
1. Самая минимальная после первой в первом столбце, а во втором: самая минимальная, после той, которая в первом столбце.
2. Самая минимальная, после даты второго столбца из п1. в первом столбце и во втором: самая минимальная, после той, которая в первом столбце.
Ну и т.д.

Далее, я уже разберусь как отсеять 18:05 и т.п.. Мне важно построить вывод дат по каждому айди сотрудника в формате выше.
...
Рейтинг: 0 / 0
Сканирование сотрудников
    #39236796
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
b.kryukovрезультат на выходе хочется получить такой
Почему именно такой? не вижу логики - причём от слова совсем.

Я бы ещё понял, будь так:
Вход Выход29.04.2016 9:1829.04.2016 11:4629.04.2016 11:5229.04.2016 13:1729.04.2016 13:2329.04.2016 15:0629.04.2016 15:1129.04.2016 17:36---29.04.2016 17:3629.04.2016 17:4329.04.2016 18:05Но до такого состояния ещё надо довести - отсев ошибочных дубликатов представляет изрядную проблему...
...
Рейтинг: 0 / 0
Сканирование сотрудников
    #39236864
b.kryukov 17-36 - дело в том, что там разница в несколько секунд, просто секунды не видно .
Блин... ну ведь через пост на второй я цитирую нетленное:
"Здесь играть, здесь не играть, здесь - жирное пятно. Рыбу заворачивали..."

YouTube Video
...
Рейтинг: 0 / 0
Сканирование сотрудников
    #39236875
Млин... ну я еще могу понять - поиск. Не те ключевые слова и пр..

Вот вчера буквально писал - хочешь учет рабочего времени? раздеяляй и властвуй. Учитывай время:
- астрономическое (для порядку) с достаточной точностью
- бухгалтерское
- вахтерное

http://www.sql.ru/forum/1213144/itogi-nedeli

Абсолютно они, конечно все будут совпадать, но диапазоны... Сколько дней проработал сотрудник с т.з. таймера, бухгалтера и вахтера?...

Те ж не время, а диапазоны (читай - критерии их отбора важны)
Вся эта школьная скамья ведется на встроенные механизмы вычисления разницы дат, но ни как не вкуривает даже хэлп по ним.

Нам не нужна точность. Нам важно исключить пробдему рднозначной интерпретации конкретного моента времени с т.з. СУБД. Поэтому - забей на точность, но рекомендую таки ХФТ. Запрети интерактив в разумном зазоре перехода нулей и прочих критичных рубежей - перерывы, пересменка, технологические остановки и пр.. Реши - кардинально!!!!!!!!!!!!!! - задачу синхронизции времени в сети - поеъись для этого с сисадминами. В общем и целрм - построй собственную модель врмени в контексте нужд твоей БД. По определению невозможно добиться равныъ отсчнтов на разных компах. Но добиться единой интерпретации разных отсчетов - вот твоя задача. Транзакции! Выучи и пойми это слово. Все компьютеры в сети должны знать, что данный отсчет признан легитимным. И он един для всех. В рамках твоей модели, конечно....
...
Рейтинг: 0 / 0
Сканирование сотрудников
    #39236879
* исключить пробдему рднозначной интерпретации

"Исключить проблему НЕоднозначной интерпретации"

то бишь:

"решить задачу однозначной интерпретации"

Хм... Бывает и на старуху прореха...
.
...
Рейтинг: 0 / 0
Сканирование сотрудников
    #39236962
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
b.kryukovВ случае с примером диапазона дат выше, результат на выходе хочется получить такой:

Скан 1 Скан 2
29.04.2016 9:18
29.04.2016 11:46 29.04.2016 11:52
29.04.2016 13:17 29.04.2016 13:23
29.04.2016 15:06 29.04.2016 15:11
29.04.2016 17:36 29.04.2016 17:36
29.04.2016 17:43 ------
29.04.2016 18:05 29.04.2016 18:05

Вот как его можно добиться, посредством аксесса?
можно, конечно, и посредством аксесса (но задание всёж странное) :)
...
Рейтинг: 0 / 0
Сканирование сотрудников
    #39237087
b.kryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport,
Спасибо! То, что нужно.
...
Рейтинг: 0 / 0
Сканирование сотрудников
    #39237354
Млин... может я чегой-то недосмотрел...

Вы, робяты, всерьез обсуждаете именно эту конструкцию?
На картинке еще не видна пользовательская ф-ция с вариантами, статиком, неявным лонг-бул )) Не влезла :)

Если всерьез - я буду всегда, проходя мимо этого монумента отдавать пионерский салют, а, может даже, и креститься...



.
...
Рейтинг: 0 / 0
Сканирование сотрудников
    #39237444
Да, вот еще...

IsMissing - очень кривой костыль. Для себя я его полностью исключил из употребления. А уж на Variant - тем более.

Показательно, кстати, что изначально iStartValue позиционировалась вроде как integer, но что-то помешало :)
.
...
Рейтинг: 0 / 0
Сканирование сотрудников
    #39237952
b.kryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport,

Всё работает только при условии наличия одной айди, а у меня 120 сотрудников. Запрос не выполняется.
...
Рейтинг: 0 / 0
Сканирование сотрудников
    #39238246
guest_rusimport
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
b.kryukovguest_rusimport,

Всё работает только при условии наличия одной айди, а у меня 120 сотрудников. Запрос не выполняется.
можно обойтись и VBA ... (чтоб "салюты" не отдавали и не крестились) :)
...
Рейтинг: 0 / 0
Сканирование сотрудников
    #39238495
b.kryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
guest_rusimport,

Спасибо! Теперь все выгружается отлично, по всем сотрудникам.
...
Рейтинг: 0 / 0
Сканирование сотрудников
    #39253344
b.kryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А теперь такой вопрос:
Есть исходная таблица:

Сотрудник / Дата / Время / Действие (вход или выход) /

Есть случаи, когда сотрудник совершает выход по скану, а обратный вход - тупит и проходит не сканируясь. Или наоборот, выход без скана, а обратный вход - скан есть.

Нужно чтобы в таких случаях, была построена таблица, в которой:
1. Если есть выход, а ближайший по времени вход отсутствует (отсутствуем считается, если после выхода, ближайшее по времени действие - опять выход), то формируется вход, время которого равно выходу.
2. Аналогично п.1, только если есть вход и за ним ближайший вход, то к последнему формируется выход, равный последнему входу.

На выходе должно получится:

Оригинала, с отсутствующим сканом обратного входа в строке 2 и предварительного выхода, в строке 5:
ид Выход Вход
1 8:31:00 8:31:00
1 8:36:00 9:40:00
1 9:39:00 10:48:00
1 10:47:00 11:17:00
1 11:18:00 12:08:00

Должно получится:
ид Выход Вход
1 8:31:00 8:31:00
1 8:36:00 8:36:00
1 9:39:00 9:40:00
1 10:47:00 10:48:00
1 11:18:00 11:17:00
1 12:08:00 12:08:00
...
Рейтинг: 0 / 0
Сканирование сотрудников
    #39253349
b.kryukov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот сам формат примера исх.таблицы:
ид Time Дата Действие
1 8:31:00 10-май-16 Выход
1 8:31:00 10-май-16 Вход
1 8:36:00 10-май-16 Выход
1 9:39:00 10-май-16 Выход
1 9:40:00 10-май-16 Вход
1 10:47:00 10-май-16 Выход
1 10:48:00 10-май-16 Вход
1 11:17:00 10-май-16 Вход
1 11:18:00 10-май-16 Выход
1 12:08:00 10-май-16 Вход
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Сканирование сотрудников
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]