Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Расчет интервала между датами и временем, Вывод в формате чч:мм 
V
    Опции темы
Gal4onoK_89
Дата 23.9.2008, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 1.2.2008

Репутация: нет
Всего: нет



Добрый день, есть проблема по вычислению промежутка времени в часах и минутах:

ДатаНачала: 20.09.2008
ВремяНачала: 02:00

ДатаКонец: 21.09.2008
ВремяКонец: 23:30

Интервал между этими данными должен рассчитаться как: 45:30 (чч:мм)  smile 

Помогите пожалуйста с этим расчетом. Буду очень признательна. Спасибо заранее.
PM MAIL   Вверх
bopoha
Дата 23.9.2008, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



Для дат есть целый набор фукнций:
DateAdd - сложить
DateDiff - посчитать разницу
DatePart - получить время, например, в часах, минутах. Т.е. минуты все равно высчитывать придется = время_в_мин - время_в_часах * 60
и т.д.


PM MAIL WWW ICQ Skype GTalk   Вверх
Gal4onoK_89
Дата 26.9.2008, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 1.2.2008

Репутация: нет
Всего: нет



Пробую, не идёт, помогите пожалуйста  smile  smile 
PM MAIL   Вверх
bopoha
Дата 26.9.2008, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



На кофейной гуще предлагаете погадать, что у вас не идет?

Это сообщение отредактировал(а) bopoha - 26.9.2008, 13:28
PM MAIL WWW ICQ Skype GTalk   Вверх
Gal4onoK_89
Дата 26.9.2008, 14:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 1.2.2008

Репутация: нет
Всего: нет



Добрый день, я в этом деле новичок, пользуюсь функциями, которые Вы перечислили, а интервал у меня так и не рассчитывается. Буду еще пробовать. 
PM MAIL   Вверх
bopoha
Дата 26.9.2008, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



Может попробуете показать, как используете? А если F1 нажать, то справка откроется, там примеры есть.
PM MAIL WWW ICQ Skype GTalk   Вверх
kapbepucm
Дата 29.9.2008, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: нет
Всего: 12



Gal4onoK_89,
Код
Sub test()
  Const Date1 As Date = "20.09.2008 02:00"
  Const Date2 As Date = "21.09.2008 23:30"
  MsgBox "Interval=" & DateDiff("n", Date1, Date2) \ 60 & ":" & Right("0" & CStr(DateDiff("n", Date1, Date2) - (DateDiff("n", Date1, Date2) \ 60) * 60), 2)
End Sub



--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
Akina
Дата 29.9.2008, 13:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Код

CStr(DateDiff("n", Date1, Date2) - (DateDiff("n", Date1, Date2) \ 60) * 60)

можно смело заменить на 
Код

CStr(DateDiff("n", Date1, Date2) MOD 60)

Остальное нормально.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
kapbepucm
Дата 29.9.2008, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 993
Регистрация: 14.6.2007
Где: Латвия

Репутация: нет
Всего: 12



По рекомендации Akina:
Код
Sub test()
  Const Date1 As Date = "20.09.2008 02:00"
  Const Date2 As Date = "21.09.2008 23:30"
  MsgBox "Interval=" & DateDiff("n", Date1, Date2) \ 60 & ":" & Right("0" & CStr(DateDiff("n", Date1, Date2) Mod 60), 2)
End Sub


Добавлено через 1 минуту и 18 секунд
Gal4onoK_89, попробуй, должно работать


--------------------
(С) kapbepucm
PM MAIL Skype   Вверх
Gal4onoK_89
Дата 29.9.2008, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 1.2.2008

Репутация: нет
Всего: нет



Akina, Kapbepucm добрый день, расчет, который Вы мне подсказали расчитывается именно так, как должен, спасибо, сейчас буду пробовать, что бы этот интервал отображался в поле формы. Еще раз огромное Вам спасибо.  smile 
PM MAIL   Вверх
Gal4onoK_89
Дата 30.9.2008, 10:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 1.2.2008

Репутация: нет
Всего: нет



Akina, здравствуйте, может сразу и подскажите, как эту ф-цию привязать к полю в форме, просто время поджимает, а разобраться без Вашей помощи сложновато...  Очень жду, спасибо. smile 
PM MAIL   Вверх
bopoha
Дата 30.9.2008, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1283
Регистрация: 10.5.2006
Где: Беларусь, Минск

Репутация: 21
Всего: 21



Записать как выражение в свойство Control Source. Формат: = фыражение. При этом запятая заменяется на двоеточие.
В вашем случае будет так: 
Код

= DateDiff("n"; Date1; Date2) \ 60 & ":" & Right("0" & CStr(DateDiff("n"; Date1; Date2) Mod 60); 2)

PM MAIL WWW ICQ Skype GTalk   Вверх
Gal4onoK_89
Дата 30.9.2008, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 1.2.2008

Репутация: нет
Всего: нет



Да, всё получилось, однако, я именно всё так и прописывала... Странно... Но всё же спасибо Вам. Вопрос можно закрыть, smile))))
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0542 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.