Sk
6 / 6 / 1
Регистрация: 10.03.2016
Сообщений: 304
1

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

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

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

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

Спасибо
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.06.2016, 11:50
Ответы с готовыми решениями:

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

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

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

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

14
Эксперт MS Access
6771 / 4361 / 278
Регистрация: 12.08.2011
Сообщений: 12,872
21.06.2016, 07:50 2
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  [ТС] 3
alvk, неправильно сформулировала.. А если у меня время должно браться из двух столбцов? то есть столбец А1 и А2, надо находить каждый раз (А2-А1)?
0
Эксперт MS Access
6771 / 4361 / 278
Регистрация: 12.08.2011
Сообщений: 12,872
21.06.2016, 10:00 4
это риторический вопрос?
0
Sk
6 / 6 / 1
Регистрация: 10.03.2016
Сообщений: 304
21.06.2016, 10:14  [ТС] 5
alvk, нет. Как находить (А2-А1), где А1 и А2 - столбцы с временем в кратком формате
0
Эксперт MS Access
6771 / 4361 / 278
Регистрация: 12.08.2011
Сообщений: 12,872
21.06.2016, 10:34 6
Я выше уже написал как
0
Sk
6 / 6 / 1
Регистрация: 10.03.2016
Сообщений: 304
21.06.2016, 15:32  [ТС] 7
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  [ТС] 8
Прилагаю БД
Вложения
Тип файла: rar БД1.rar (24.4 Кб, 2 просмотров)
0
Эксперт MS Access
26720 / 14400 / 3190
Регистрация: 28.04.2012
Сообщений: 15,782
21.06.2016, 16:23 9
Не вдаваясь в логику запроса
Несоответствие данных из-за пустых (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  [ТС] 10
mobile, работает!!
Но, почему возник такой вопрос: изначально у меня в форме в поле вручную вписывалась длительность, а потом она суммировалась по формуле выше, но! даже если длит-ть в поле отсутствовала, формула все равно работала. А эта ошибка вылезла только после того, как стала суммировать поле запроса.
Теперь поняла, буду знать! спасибо!
0
Sk
6 / 6 / 1
Регистрация: 10.03.2016
Сообщений: 304
17.04.2017, 17:22  [ТС] 11
снова вопрос с длительностью. Почему-то с формулой вычитания краткий формат времени работает
Код
Длительность: (Format(Nz([Оператор1]![А2];0)-Nz([Оператор1]![А1];0);"Краткий формат времени"))
а когда суммирую:
Код
Длительность2: (Format(Sum(Hour([Длительность]![Длительность]))+Sum(Minute([Длительность]![Длительность]))\60 & ":" & Sum(Minute([Длительность]![Длительность])) Mod 60;"Краткий формат времени"))
время получается 38:9
В чем ошибка у меня?
0
Эксперт MS Access
26720 / 14400 / 3190
Регистрация: 28.04.2012
Сообщений: 15,782
17.04.2017, 18:30 12
Не нужен здесь формат. Даже неприменим если сумма часов больше 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  [ТС] 13
Цитата Сообщение от mobile Посмотреть сообщение
Не нужен здесь формат. Даже неприменим если сумма часов больше 24.
Если его убрать, то длительность выглядит так:
3:24:00
90:46
39:4

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

Цитата Сообщение от mobile Посмотреть сообщение
Почему что-то не так с вычитанием не знаю
не-не, с вычитанием все работает хорошо, спасибо
0
Эксперт MS Access
26720 / 14400 / 3190
Регистрация: 28.04.2012
Сообщений: 15,782
18.04.2017, 09:27 14
Цитата Сообщение от 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  [ТС] 15
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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.04.2017, 09:48

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.