Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.08.2015, 11:39   #1
Redislav
Новичок
Джуниор
 
Регистрация: 17.08.2015
Сообщений: 1
По умолчанию Время, вычитание.

Здравствуйте.
Я начинающий пользователь Access, так что прошу извенить за нубство.
В таблице вводится 2 значения времени (въезд и выезд). параметр столбца дата/время, короткий формат времени.
Делаю запрос и вычисляю в нем разницу.
Выдает какую то полную ерунду в не понятном формате.
Как это исправить?
Заранее спасибо.
Если есть возможность, исправте базу-пример. На примере легче разобраться.
Вложения
Тип файла: zip Database1.zip (20.2 Кб, 14 просмотров)
Redislav вне форума Ответить с цитированием
Старый 17.08.2015, 17:33   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Redislav, насколько я понимаю, разницу Вы получаете в долях суток.
умножьте разницу на 24 - получите разницу в часах (и долях часа)
умножьте разницу на 24*60 получите разницу в минутах (и долях минуты) и т.д.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 17.08.2015, 20:12   #3
Akeloya
Форумчанин
 
Регистрация: 27.01.2014
Сообщений: 115
По умолчанию

Цитата:
Сообщение от Redislav Посмотреть сообщение
Здравствуйте.
Я начинающий пользователь Access, так что прошу извенить за нубство.
В таблице вводится 2 значения времени (въезд и выезд). параметр столбца дата/время, короткий формат времени.
Делаю запрос и вычисляю в нем разницу.
Выдает какую то полную ерунду в не понятном формате.
Как это исправить?
Заранее спасибо.
Если есть возможность, исправте базу-пример. На примере легче разобраться.
Мой вам совет, почитайте на office.microsoft.com про типы данных в акцесс, чтобы не было подобных сюрпризов.

Зарубите себе на носу, дата считается всегда числом с плавающей запятой, никаких форматов дд-мм-гггг чч:мм:сс не существует, это как ложка в матрице

Целая часть в дате - сутки, дробная - всё что меньше суток. Соответственно, когда вы отнимаете одну дату от другой, вы получаете число с плавающей точкой, в которой целая часть будет показывать дни, дробная - часы, минуты и секунды, миллисекунды.

Соответственно, вам остается привести полученное число к нужному вам формату, либо даты, либо timespan (в акцесс есть он или нет я не знаю).

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

Код:
SELECT Таблица1.Код, Таблица1.[Время 1], Таблица1.[Время 2], cdate([Время 1]-[Время 2]) AS Выражение1
FROM Таблица1;

Последний раз редактировалось Akeloya; 17.08.2015 в 20:13. Причина: поправочка
Akeloya вне форума Ответить с цитированием
Старый 17.08.2015, 21:46   #4
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Не забиваем Функция DateDiff
https://support.office.com/ru-ru/art...rs=ru-RU&ad=RU
Код:
SELECT Таблица1.Код, Таблица1.[Время 1], Таблица1.[Время 2],  DateDiff("h", [Время 2], [Время 1] )AS Час ,  DateDiff("n",  [Время 2], [Время 1]  )AS Минут
FROM Таблица1;

Последний раз редактировалось xxbesoxx; 17.08.2015 в 21:51.
xxbesoxx вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск программы в определенное время ( день и время ) artbotva Общие вопросы Delphi 4 09.11.2012 15:05
вычитание на л.установке studier Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 14.12.2010 18:48
Вычитание avnsanto Microsoft Office Excel 0 24.07.2009 02:33
Время нажатия на кнопку мыши(Время реакции) Кирилл13 Помощь студентам 1 11.04.2009 19:41