Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
2 / 2 / 0
Регистрация: 13.07.2012
Сообщений: 39
1

Подсчитать отработанное время согласно логу

14.11.2012, 14:08. Показов 1937. Ответов 17
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго дня форумчане,
Есть задачка подсчитать отработанное время.
данные:
Кликните здесь для просмотра всего текста
07.11.2012 7:31 Вход
07.11.2012 8:29 Выход
07.11.2012 8:30 Вход
07.11.2012 8:55 Вход
07.11.2012 9:57 Выход
07.11.2012 9:58 Вход
07.11.2012 11:00 Выход
07.11.2012 11:09 Выход
07.11.2012 11:10 Вход
07.11.2012 11:19 Вход
07.11.2012 16:00 Выход


Запутался с логикой алгоритма условий.
- если N'ый вход подряд, правильным считать 1й
- если N'ый выход подряд, правильным считать последний.
- Есть альтернативные состояния "Вход"="Попытка входа", "Выход"="Попытка выхода"

время расчитываетя:
ВремяИтого = ВремяИтого + (ВремяВЫхода - ВремяВхода)
Помогите пожалуйста.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.11.2012, 14:08
Ответы с готовыми решениями:

Отработанное время
Здравствуйте, подскажите пожалуйста можно ли средствами access посчитать отработанное время...

зуп 3.1 задваивается отработанное время
Сформировали отчет Анализ зарплаты по сотрудникам (помесячно), там задваивается графа отработано...

Основное Начисление Не Учитывает Отработанное Время
Здравствуйте! Я работаю в УПП, у нас два основных начисления, по окладу, и доп. фонд. Создала...

Найти расчет зароботной платы за отработанное время
рабочий! фамилия,стаж,часовая зароботная плата, колличество отработаных часов. Наити: 1) Расчет...

17
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,518
14.11.2012, 16:36 2
Whitelion,
  1. где находятся данные?
  2. на примере данных из сообщения #1 какой должен быть результат?
0
2 / 2 / 0
Регистрация: 13.07.2012
Сообщений: 39
14.11.2012, 16:47  [ТС] 3
Цитата Сообщение от Скрипт Посмотреть сообщение
где находятся данные?
В реале данные находятся в Базе Access. Вытягиваются в листы excel (для удобства манипуляции с данными). Это все уже реализовано.

Цитата Сообщение от Скрипт Посмотреть сообщение
на примере данных из сообщения #1 какой должен быть результат?
По примеру 1# должно получиться 8,26
После отсеивания остаются данные:
Кликните здесь для просмотра всего текста

07.11.2012 7:31 Вход
07.11.2012 8:29 Выход
Итого 0:58:00
07.11.2012 8:30 Вход
07.11.2012 9:57 Выход
Итого 2:25:00
07.11.2012 9:58 Вход
07.11.2012 11:09 Выход
Итого 3:36:00
07.11.2012 11:10 Вход
07.11.2012 16:00 Выход
Итого 8:26:00
0
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,518
14.11.2012, 16:54 4
Whitelion, т.е. данные, для которых вам нужен код VBA, находятся в книге Excel? Эти данные в сообщении #1.
0
65 / 65 / 4
Регистрация: 21.06.2011
Сообщений: 166
14.11.2012, 17:04 5
А нельзя из суммы всех выходов вычесть сумму всех входов?
0
2 / 2 / 0
Регистрация: 13.07.2012
Сообщений: 39
14.11.2012, 17:09  [ТС] 6
Цитата Сообщение от sn_88 Посмотреть сообщение
А нельзя из суммы всех выходов вычесть сумму всех входов?
Тогда не посчитать время.
0
2 / 2 / 0
Регистрация: 13.07.2012
Сообщений: 39
14.11.2012, 23:29  [ТС] 7
да. Данные в Excel.
Пример в файле. ПримCybForum.xlsx
0
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,518
15.11.2012, 09:52 8
Whitelion, в сообщении #1 у вас данные за один день, а в выложенном файле уже за несколько дней.
0
2 / 2 / 0
Регистрация: 13.07.2012
Сообщений: 39
15.11.2012, 09:55  [ТС] 9
Скрипт,
Просто для наглядности, какие логи бывают.

Если необходимо выложу полные логи, как они есть.
0
5472 / 1150 / 50
Регистрация: 15.09.2012
Сообщений: 3,518
15.11.2012, 09:56 10
Whitelion, в выложенном файле также нарастающим итогом и считать? Или для каждого дня свой итог?
0
2 / 2 / 0
Регистрация: 13.07.2012
Сообщений: 39
15.11.2012, 09:59  [ТС] 11
Скрипт,
Да, для каждого дня свой итог.
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,086
18.11.2012, 21:24 12
Обработать данные можно и так, а подсчитать данные сводной таблицей.
Вложения
Тип файла: rar ПримCybForum.rar (30.0 Кб, 20 просмотров)
1
2 / 2 / 0
Регистрация: 13.07.2012
Сообщений: 39
28.11.2012, 16:13  [ТС] 13
Цитата Сообщение от toiai Посмотреть сообщение
Обработать данные можно и так, а подсчитать данные сводной таблицей.
Если сотрудник не вышел в предыдущий день, расчет сбивается
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,086
28.11.2012, 19:15 14
Пример покажи.
0
2 / 2 / 0
Регистрация: 13.07.2012
Сообщений: 39
28.11.2012, 22:44  [ТС] 15
Цитата Сообщение от toiai Посмотреть сообщение
Пример покажи.
ПримCybForumData.zip
В сводной таблице помечено красным.
0
3218 / 967 / 223
Регистрация: 29.05.2010
Сообщений: 2,086
30.11.2012, 20:29 16
В общем есть несоответствия Вход-Выход с разными датами, или Выход раньше чем Вход...
Вложения
Тип файла: zip ПримCybForumData.zip (505.2 Кб, 12 просмотров)
0
2 / 2 / 0
Регистрация: 13.07.2012
Сообщений: 39
03.12.2012, 13:07  [ТС] 17
Цитата Сообщение от toiai Посмотреть сообщение
или Выход раньше чем Вход...
Нет, должно быть в одну дату вход -> выход.
Но есть сотрудники пИИИИп, (не буду ругаться). Которые могу пройти не отметившись.
фактически получается что 1е событие за дату расчета является входом. А если он в пятницу забыл выйти его проблемы!
0
2 / 2 / 0
Регистрация: 13.07.2012
Сообщений: 39
20.12.2012, 14:42  [ТС] 18
toiai,
Большое спасибо за помощь, ваш алгоритм очень помог.

ВСЕМ ,
Большое спасибо кто помогал мне в смежных темах:
Подключение к БД Access, которая уже открыта
Как реализовать выбор заполнения диапазонов

Выкладываю файл моего способа расчета табеля (рабочего времени) по логам с турникета.
Предыстория.
Кликните здесь для просмотра всего текста

На предприятии есть турникет на КПП.
Через него проходят ВСЕ работники предприятия.
Также есть 2й турникет уже внутри здания, он стоит перед входом в Цех (Производственную зону).
У всех сотрудников расчет Рабочего времени ведется по 1му турникету.
Исключение только для "Работников", для них рабочее время рассчитывается по 2му турникету.
В файле Табеля это листы "СобытияТ" и "СобытияЦ".

Итоговое время за день рассчитывается накопительным способом:
За вход - берется 1й вход.
За выход - берется последний выход.
Время смены = Время смены + (Время выхода -(минус) Время входа)

Мини FAQ:
Кликните здесь для просмотра всего текста

1. Для работы с табелем необходимо заполнить поля Ячеек "С","D","E" - Год, Месяц и Даты
Корректность ввода данных проверяется в функции Check_Ddate() из Модуля 1
Далее загрузка данных и расчет времени будет проходить именно за тот период который выбран.
2. Далее необходимо нажать "Загрузить данные".
a. Листы со статистикой "СобытияТ" и "СобытияЦ" будут очищены,
b. Из базы данных "St_Copy.mdb", через подключение ADODB, будут скопированы данные, и заполнены на листы "СобытияТ" и "СобытияЦ".
c. В листах со статистикой, "КОДЫ событий" будут заменены на "Названия событий" (Для удобства читаемости статистики).
3. Для расчета времени выбранного диапазона дат необходимо нажать "Обработка"



P.S.
В архиве прилагается пример базы статистики. Там есть данные для анализа, с декабря 2011 по 19е декабря 2012.
За чистоту Кода просьба сильно не "пинать", все создавалось так сказать на лету. Ошибки выявлялись и правились опытным путем......
Библиотеки необходимые для работы данного файла.
Кликните здесь для просмотра всего текста
Подсчитать отработанное время согласно логу


Tabel.7z
0
20.12.2012, 14:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.12.2012, 14:42
Помогаю со студенческими работами здесь

Перемещение, согласно времени (скорость время расстояние)
Как реализовать движение кружка на форме по нажатию клавиши, по любой траектории, cо скоростью 100...

Подскажите по логу
Всем привет. есть сайт сначала открывался просто белым фоном теперь ошибка 404, с хоста пристали...

Вывод имён только тех пользователей, у которых согласно учетной записи истекает время использования пароля
Нужна помощь!!! У меня получилось что выводить всех пользователь, а мне нужно только те...

Можно как то по логу восстановить айди и пароль TeamViewer ?
Здравствуйте . такая проблема работал в TeamViewer закрылся случайно нужно зайти обратно сейчас...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru