Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подскажите, как создать запрос на сложение времени / 15 сообщений из 15, страница 1 из 1
17.03.2018, 15:54
    #39616250
Юрий495
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как создать запрос на сложение времени
Добрый день. Друзья, помогите начинающему с простеньким запросом на сложение времени. Допустим, имеется таблица [ВРЕМЯ] и в ней три поля в полном формате времени чч:мм:сс [TIME1],[TIME2],[SUMMA]
TIME1TIME2SUMMA1:30:556:41:37...1:33:415:57:28............
Надо создать запрос на вывод в поле SUMMA в полном формате времени сумму полей TIME1 и TIME2, т.е. на выходе должно получится в первой строке 8:12:12, во второй 7:31:09 и т.д.
...
Рейтинг: 0 / 0
17.03.2018, 18:13
    #39616279
Сергей Лалов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как создать запрос на сложение времени
Юрий495,
Так в чем беда, если у вас поля time1 и time2 имеют формат время просто сложите эти два поля в конструкторе запроса в отдельном поле:
SUMMA: [time1]+[time2]

Или в SQL:
Код: sql
1.
2.
SELECT вашаТаблица.time1, вашаТаблица.time2, [time1]+[time2] AS SUMMA
FROM вашаТаблица;
...
Рейтинг: 0 / 0
17.03.2018, 21:09
    #39616318
Tarasios
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как создать запрос на сложение времени
Сергей Лалов,
кажется, у ТС затруднение вызвало не само сложение времени, а именно "вбивание" полученного результата в третье поле SUMMA.

Юрий495 , у вас как минимум два варианта:
1. физически не делать поля SUMMA в таблице, хватит и первых двух полей с исходным временем TIME1 и TIME2. А уже при необходимости - в форме или отчёте - сделать свободное поле и в нём уже отображать сумму первых двух полей .

2. Если уж очень хочется держать поле SUMMA в таблице, то забивайте в него значение суммы первых двух полей запросом на обновление.
...
Рейтинг: 0 / 0
17.03.2018, 23:26
    #39616348
Юрий495
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как создать запрос на сложение времени
В моём случае не всё так просто. Я в начале не правильно написал,таблица [ВРЕМЯ] является результатом выполнения предыдущего запроса [ВРЕМЯ]из другой большой таблицы, которая является связанной и изначально представлена в виде dbf-файла ,а сами поля TIME1 и TIME2 на выходе имеют общий формат и при их сложении тупо происходит склейка двух полей. В свойствах полей в появляющейся табличке справа почему-то не удаётся поменять формат полей на "полный формат времени", т.е. форматы не отображаются. Можно конечно после выполнения запроса [ВРЕМЯ] выгрузить результат из access в excel, а потом обратно в access и там уже в конструкторе таблицы поменять форматы, но это долгий путь. Кстати, сразу импортировать исходный dbf-файл в access не получается, пишет "определено слишком много полей".
...
Рейтинг: 0 / 0
18.03.2018, 00:45
    #39616359
Сергей Лалов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как создать запрос на сложение времени
Юрий495В моём случае не всё так просто. Я в начале не правильно написал,таблица [ВРЕМЯ]...а сами поля TIME1 и TIME2 на выходе имеют общий формат и при их сложении тупо происходит склейка двух полей. В свойствах полей в появляющейся табличке справа почему-то не удаётся поменять формат полей на "полный формат времени", т.е. форматы не отображаются. .

По сути ничего не меняется кроме приведения значений полей к формату типа время, с последующим складыванием.

В конструкторе запроса/расчетном поле таблицы можете написать расчетное поле SUMMA так:
SUMMA: CDate([time1])+CDate([time2])

а в запросе так, и будет ок:

Код: sql
1.
2.
SELECT ВРЕМЯ.time1, ВРЕМЯ.time2, CDate([time1])+CDate([time2]) AS SUMMA
FROM ВРЕМЯ;
...
Рейтинг: 0 / 0
18.03.2018, 01:58
    #39616366
Nebo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как создать запрос на сложение времени
У меня вопрос: как на форме получить количество часов?

Например есть поля в форме:

Начало: 09:30

Окончание: 15:30

Как получить количество времени в часах и минутах: 15:30 - 09:30 ?
...
Рейтинг: 0 / 0
18.03.2018, 10:53
    #39616401
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как создать запрос на сложение времени
Nebo, за столько лет так и не научился пользоваться справкой и Object Browser? Одно вызывается F1, другое - F2.

Function DateDiff (Interval As String, Date1, Date2, [FirstDayOfWeek As VbDayOfWeek = vbSunday ], [FirstWeekOfYear As VbFirstWeekOfYear = vbFirstJan1 ])
Member of VBA.DateTime


Код: vbnet
1.
2.
3.
4.
5.
?DateDiff("n", TimeValue("9:30"),TimeValue("15:30"),0)
 360 

?DateDiff("h", TimeValue("9:30"),TimeValue("15:30"),0) & ":" & Format((DateDiff("n", TimeValue("9:30"),TimeValue("15:30"),0) mod 60),"00")
6:00
...
Рейтинг: 0 / 0
18.03.2018, 10:55
    #39616404
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как создать запрос на сложение времени
+
Код: vbnet
1.
2.
?CDate(TimeValue("15:30")-TimeValue("9:30"))
6:00:00 
...
Рейтинг: 0 / 0
18.03.2018, 11:00
    #39616405
Панург
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как создать запрос на сложение времени
Код: vbnet
1.
2.
?TimeSerial(DateDiff("h", TimeValue("9:30"),TimeValue("15:30"),0), (DateDiff("n", TimeValue("9:30"),TimeValue("15:30"),0) mod 60), 0)
6:00:00 
...
Рейтинг: 0 / 0
18.03.2018, 12:34
    #39616416
Nebo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как создать запрос на сложение времени
Панург,

Спасибо большое) Иногда мне проще тут спросить совета)
Действительно как я мог забыть про DateDiff ?
Спасибо Вам ещё раз) Вы моментально предоставили мне кусок хорошего кода.
Попробую попозже.
...
Рейтинг: 0 / 0
19.03.2018, 21:32
    #39617080
Юрий495
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как создать запрос на сложение времени
Сергей Лалов,

Спасибо за подсказку. Как говорится, век живи - век учись.
...
Рейтинг: 0 / 0
19.03.2018, 22:13
    #39617096
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как создать запрос на сложение времени
Юрий495Сергей Лалов,

Спасибо за подсказку. Как говорится, век живи - век учись.

вот только вопрос: что вы получите от сложения 13 и 14 часом
короче --сумма более 24 часов
...
Рейтинг: 0 / 0
19.03.2018, 22:26
    #39617099
Сергей Лалов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как создать запрос на сложение времени
ПЕНСИОНЕРКА,
Если складывать в родном формате время, то все будет нормально)
...
Рейтинг: 0 / 0
19.03.2018, 22:31
    #39617102
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как создать запрос на сложение времени
Сергей ЛаловПЕНСИОНЕРКА,
Если складывать в родном формате время, то все будет нормально)

что-то я сомневаюсь , что получится 27 часов
...
Рейтинг: 0 / 0
19.03.2018, 22:36
    #39617103
Сергей Лалов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как создать запрос на сложение времени
ПЕНСИОНЕРКА,

Правильно сомневаетесь,сложите,гляньте)
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Подскажите, как создать запрос на сложение времени / 15 сообщений из 15, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]