С Новым годом! Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Sk
6 / 6 / 1
Регистрация: 10.03.2016
Сообщений: 304

Формулы длительности

20.06.2016, 11:50. Показов 1119. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!
Считаю общую длительность занятий по формуле:
Code
1
Sum(Hour([таблица]![длительность]))+Sum(Minute([таблица]![длительность]))\60 & ":" & Sum(Minute([таблица]![длительность])) Mod 60
где длительность - в кратком формате времени (например 14:51).
если считать по данной формуле, то вместо, например, посчитанных 8:04 выводится 8:4. Как это исправить?

И еще, как посчитать разность времени: 11:46-9:50=1:56

Спасибо
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.06.2016, 11:50
Ответы с готовыми решениями:

Неправильное отображение длительности смены
Добрый день! Подскажите что не так сделал. В приложенном примере поле отображающее длительность не отображает минуты, все округляет до...

Конвертация длительности из Numbers
Всем привет. Имеется таблица в Numbers, которую нужно преобразовать в Excel. Таблица используется для подсчёта длительностей в...

Автоматическое отображение длительности
Здравствуйте, MS Project начал использовать недавно (сегодня), поэтому не ругайтесь если что) Вопрос такой, почему у меня длительность в...

14
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
21.06.2016, 07:50
Visual Basic
1
2
?format(#11:46# - #9:50#,"hh:nn")
01:56
1
Sk
6 / 6 / 1
Регистрация: 10.03.2016
Сообщений: 304
21.06.2016, 09:14  [ТС]
alvk, неправильно сформулировала.. А если у меня время должно браться из двух столбцов? то есть столбец А1 и А2, надо находить каждый раз (А2-А1)?
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
21.06.2016, 10:00
это риторический вопрос?
0
Sk
6 / 6 / 1
Регистрация: 10.03.2016
Сообщений: 304
21.06.2016, 10:14  [ТС]
alvk, нет. Как находить (А2-А1), где А1 и А2 - столбцы с временем в кратком формате
0
Эксперт MS Access
 Аватар для alvk
7459 / 4592 / 302
Регистрация: 12.08.2011
Сообщений: 14,380
21.06.2016, 10:34
Я выше уже написал как
0
Sk
6 / 6 / 1
Регистрация: 10.03.2016
Сообщений: 304
21.06.2016, 15:32  [ТС]
alvk, все, поняла, спасибо

А первую формулу можно тоже как-то по-другому записать, чтобы правильно выводилось?

Добавлено через 1 час 43 минуты
Вопрос снят, спасибо

Добавлено через 1 час 21 минуту
рррр
не получается

Создала запрос, который считает(А2-А1)=А3
Это А3 мне надо просуммировать по формуле:
Sum(Hour([запрос]![А3]))+Sum(Minute([запрос]![А3]))\60 & ":" & Sum(Minute([запрос]![А3])) Mod 60

Пишет ошибку "несоответствие типов данных в выражении условия отбора"

Почему? Тип нигде не менялся..Это из-за того, что в формулу подставляю поле запроса?
Помогите, пожалуйста
0
Sk
6 / 6 / 1
Регистрация: 10.03.2016
Сообщений: 304
21.06.2016, 15:57  [ТС]
Прилагаю БД
Вложения
Тип файла: rar БД1.rar (24.4 Кб, 5 просмотров)
0
Эксперт MS Access
26825 / 14505 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
21.06.2016, 16:23
Не вдаваясь в логику запроса
Несоответствие данных из-за пустых (NULL) значений. Можно исправить функцией Nz в запросе (А2-А1)
SQL
1
2
3
SELECT Участники.А1, Участники.А2, 
(Format(nz([Участники]![А2],0)-nz([Участники]![А1],0),"Short Time")) AS A3, Занятие.Код_Занятия
FROM Занятие INNER JOIN Участники ON Занятие.Код_Занятия = Участники.КодЗанятияУ;
1
Sk
6 / 6 / 1
Регистрация: 10.03.2016
Сообщений: 304
21.06.2016, 16:56  [ТС]
mobile, работает!!
Но, почему возник такой вопрос: изначально у меня в форме в поле вручную вписывалась длительность, а потом она суммировалась по формуле выше, но! даже если длит-ть в поле отсутствовала, формула все равно работала. А эта ошибка вылезла только после того, как стала суммировать поле запроса.
Теперь поняла, буду знать! спасибо!
0
Sk
6 / 6 / 1
Регистрация: 10.03.2016
Сообщений: 304
17.04.2017, 17:22  [ТС]
снова вопрос с длительностью. Почему-то с формулой вычитания краткий формат времени работает
Code
1
Длительность: (Format(Nz([Оператор1]![А2];0)-Nz([Оператор1]![А1];0);"Краткий формат времени"))
а когда суммирую:
Code
1
Длительность2: (Format(Sum(Hour([Длительность]![Длительность]))+Sum(Minute([Длительность]![Длительность]))\60 & ":" & Sum(Minute([Длительность]![Длительность])) Mod 60;"Краткий формат времени"))
время получается 38:9
В чем ошибка у меня?
0
Эксперт MS Access
26825 / 14505 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
17.04.2017, 18:30
Не нужен здесь формат. Даже неприменим если сумма часов больше 24.
Visual Basic
1
Длительность2: (Sum(Hour([Длительность]![Длительность]))+Sum(Minute([Длительность]![Длительность])))\60 & ":" & Sum(Minute([Длительность]![Длительность])) Mod 60
Почему что-то не так с вычитанием не знаю. Не представляю себе какие там данные и каких типов.
0
Sk
6 / 6 / 1
Регистрация: 10.03.2016
Сообщений: 304
18.04.2017, 09:23  [ТС]
Цитата Сообщение от mobile Посмотреть сообщение
Не нужен здесь формат. Даже неприменим если сумма часов больше 24.
Если его убрать, то длительность выглядит так:
3:24:00
90:46
39:4

Как привести тогда к нормальному виду? и чтобы 39:4 не теряло ноль?

Цитата Сообщение от mobile Посмотреть сообщение
Почему что-то не так с вычитанием не знаю
не-не, с вычитанием все работает хорошо, спасибо
0
Эксперт MS Access
26825 / 14505 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
18.04.2017, 09:27
Цитата Сообщение от Angie Посмотреть сообщение
чтобы 39:4 не теряло ноль?
SQL
1
Длительность2: (SUM(HOUR([Длительность]![Длительность]))+SUM(MINUTE([Длительность]![Длительность])))\60 & ":" & RIGHT("00" & (SUM(MINUTE([Длительность]![Длительность])) MOD 60), 2)
1
Sk
6 / 6 / 1
Регистрация: 10.03.2016
Сообщений: 304
18.04.2017, 09:48  [ТС]
mobile, спасибо!!!!!!

(только без скобок перед первой суммой и перед делением на 60, а то часы тоже делим на 60, получается )
SQL
1
SUM(HOUR([Длительность]![Длительность]))+SUM(MINUTE([Длительность]![Длительность]))\60 & ":" & RIGHT("00" & (SUM(MINUTE([Длительность]![Длительность])) MOD 60);2)
Добавлено через 6 минут
и чтобы самый первый 0 не пропадал:

SQL
1
RIGHT("00" & (SUM(HOUR([Длительность]![Длительность]))+SUM(MINUTE([Длительность]![Длительность]))\60);2) & ":" & RIGHT("00" & (SUM(MINUTE([Длительность]![Длительность])) MOD 60);2)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.04.2017, 09:48
Помогаю со студенческими работами здесь

Измерение длительности операции
Доброго времени суток! Есть программка для измерения длительности цикла с определенным количеством команд. Работает с помощью системного...

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

Ограничитель длительности импульса
Может у кого имеются наработки ограничения длительности импульса с выхода МК на силовые ключи? Нужно простое надёжное решение. Питание...

Настройка длительности сессии
интересую такие вопросы как длительность сессии ( сейчас меня например если не активен то через пол часа выкидывает) и вечная сессия. ...

Рассчет длительности работы батареек
Столкнулся с проблемой, вот у меня на разработке определенный девайс, в котором я не хотел бы использовать внешний источник питания. В...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru