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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа со временем в Access, как посчитать время в секундах 
:(
    Опции темы
artursn
Дата 24.7.2006, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Почему такая конструкция не работает????
    
Public Sub SumTime()
    Dim dtmTime1 As Date
    Dim dtmTime2 As Date

  dtmTime1 = "8:05" 
    dtmTime2 = "15:15" 

    If "7:30" <= dtmTime1 < "10:00" And "7:30" <= dtmTime2 < "10:00" Then
    .......
    end if

End Sub
выдает несоответствие типов.
как моно посчитать ненормированное рабочее время с несколькими перерывами в секундах по другому?
подскажите пожалуста. 
PM MAIL   Вверх
unicuum
Дата 3.8.2006, 01:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



 smile Строковый литерал это всё же не тип даты, так что просто инициализируй им переменную с типом даты, а потом сравнивай. И условие подправь, а то с точки зрения синтаксиса смотрится ужасно.


--------------------
user posted image
обычный день на винграде
PM   Вверх
dionisiu
Дата 4.8.2006, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 13.5.2006
Где: Крым

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



должно быть что-то типа:
dtmTime1=TimeSerial(8, 5, 0) 'часы, минуты, секунды

или :

dtmTime2=CDate("15:15:00") 'часы, минуты, секунды в текстовом формате
PM MAIL ICQ   Вверх
dionisiu
Дата 4.8.2006, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 13.5.2006
Где: Крым

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



Условие просто ужасное. Причём очень похоже на работу математика, а не программиста. Программист написал бы примерно так:

Код

if (  (dtmTime1>=TimeSerial(7, 30, 0))  AND (dtmTime1<TimeSerial(10 0, 0)) AND (dtmTime2>=TimeSerial(7, 30, 0))  AND (dtmTime2<TimeSerial(10, 0, 0))  ) then



end if


если не ошибся в скобках, то должно работать
PM MAIL ICQ   Вверх
Akina
Дата 6.8.2006, 17:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



Преобразуй литералы ("7:30", "10:00") в формат даты-времени. После чего воспользуйся вычитанием дат (получишь длительность промежутка в сутках) и умножением на 24*60*60 (переведешь сутки в секунды).


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

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

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

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

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


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

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


 




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


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

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