Все технические форумы на одном сайте Удобный поиск информации с популярных форумов в одном месте
Вопрос: График дежурства с 9-00 до 9-00 (сутки) - выбор текущего дежурного

Коллеги, добрый день!
Подскажите пожалуйста, как мне сделать выбор дежурного из запроса, где есть столбец Дата (тип дата), так чтобы текущий дежурный выбирался в период с 9-00 (сегодня) и до 9-00 (завтра)
Сейчас у меня дежурный выбирается по формуле (но это неправильно):
Me.Дежурный.Value = DLookup("FIO", "Дежурство", "[Дата]=" & Format(Date, "\#mm\/dd\/yyyy\#"))

Спасибо заранее за любую помощь!
Ответ:
Анатолий ( Киев )
-SWAN-
в этом поле дата без времени "05.07.2016"
Но тогда чем вас не устаивает условие "[Дата]=" & Format(Date, "\#mm\/dd\/yyyy\#") ?


мне надо было взять именно период с 9-00 текущего дня и ДО 9-00 завтрашнего
Вопрос: Группировка часов с 02:00:00 до 02:00:00 следующего дня

День добрый
есть следующий запрос который суммирует on_stream_hrs за день - trunc(daytime) и выдает за определенный период,
данные в таблице каждые полчаса, проблема в том что этот запрос суммирует часы за день с 00:00:00 до 23:59:59 а мне нужно с
02:00:00 до 02:00:00 следующего дня, как можно это реализовать?

Заранее благодарю за ответы.

object_code on_stream_hrs daytime
K11 0.5 23-Feb-17
K11 0.5 23-Feb-17 00:30:00
K11 0.5 23-Feb-17 01:00:00
K11 0.5 23-Feb-17 02:00:00
K11 0.5 23-Feb-17 02:30:00
K11 0.5 23-Feb-17 03:00:00
K13 0.5 23-Feb-17
K13 0.5 23-Feb-17 00:30:00
K13 0.5 23-Feb-17 01:00:00
K13 0.5 23-Feb-17 02:00:00
K11 0.5 23-Feb-17 02:30:00
K11 0.5 23-Feb-17 03:00:00


    select object_code, 
    sum(on_stream_hrs) on_stream_hrs,
    daytime 
from(select object_code, 
            on_stream_hrs, 
            trunc(daytime) daytime 
     from sub_day_status 
     where trunc(daytime) between to_date('1 Feb 2017') and to_date('28 Feb 2017')
     ) 
where (object_code, daytime) in (select object_code, 
                                    trunc(daytime) 
                                 from  sub_day_status 
                                 where trunc(daytime) between to_date('1 Feb 2017') and to_date('28 Feb 2017') 
                                 and on_stream_hrs >0.5)
group by object_code, daytime 
order by daytime
Ответ: sakot,
заготовка
  1  with t as (
  2  select 1 id, to_date('01.01.2017 00:00:00','dd.mm.yyyy hh24:mi:ss') d, 1 s  from dual union all
  3  select 1 id, to_date('01.01.2017 01:00:00','dd.mm.yyyy hh24:mi:ss') d, 2 s  from dual union all
  4  select 1 id, to_date('01.01.2017 02:00:00','dd.mm.yyyy hh24:mi:ss') d, 3 s  from dual union all
  5  select 1 id, to_date('01.01.2017 23:00:00','dd.mm.yyyy hh24:mi:ss') d, 4 s  from dual union all
  6  select 1 id, to_date('02.01.2017 01:49:49','dd.mm.yyyy hh24:mi:ss') d, 5 s  from dual union all
  7  select 1 id, to_date('02.01.2017 03:00:00','dd.mm.yyyy hh24:mi:ss') d, 6 s  from dual union all
  8  select 1 id, to_date('02.01.2017 17:00:00','dd.mm.yyyy hh24:mi:ss') d, 7 s  from dual union all
  9  select 2 id, to_date('01.01.2017 00:00:00','dd.mm.yyyy hh24:mi:ss') d, 10 s  from dual union all
 10  select 2 id, to_date('01.01.2017 14:00:00','dd.mm.yyyy hh24:mi:ss') d, 20 s  from dual
 11  )
 12  select id,trunc(d-2/24)+2/24 d_start,sum(s) ss from t
 13  group by id,trunc(d-2/24)
 14* order by 1,2
SQL> /

        ID D_START                     SS
---------- ------------------- ----------
         1 31.12.2016 02:00:00          3
         1 01.01.2017 02:00:00         12
         1 02.01.2017 02:00:00         13
         2 31.12.2016 02:00:00         10
         2 01.01.2017 02:00:00         20


ююююю
stax
Вопрос: вывести время между 9:00 утра и 00:00 ночи

Коллеги, привет!

Подскажите, пожалуйста, как мне вывести время между 9:00 утра и 00:00 ночи
Делаю сейчас

WHERE sent_date BETWEEN DATEADD(DD, -1, GETDATE()) AND GETDATE()

но тут такая тема, что я могу задеть и более ранние письма, за вчерашний день, а как сделать так, чтобы производил поиск только за сегодняшний день в промежутке между 9 утра и 00 вечера не могу понять.

Сообщение было отредактировано: 27 дек 19, 02:51
Ответ: [quot court#22055044][quot dermama#22055037]Коллеги,

У меня есть условие к примеру:

А эти SELECT-ы они, извините, зачем ?

Большое спасибо) я просто топовый разработчик - поэтому там эти селекты) Сейчас смотрю и действительно, можно и без них.)
Вопрос: Как доработать таблицу? учёт перекачиваемой жидкости два раза в сутки с записью показаний счётчиков: в 9:00

Здравствуйте уважаемые завсегдатые форума, специалисты и профи. Решил на работе создать БД ,что бы как то облегчить и ускорить ввод и заполнение большого массива данных, которые затем нужно раскидать по получателям электронных писем. Данные забиваются пока непосредственно в таблицы Excell, что не совсем удобно.

Перехожу к сути вопроса:
Введется учёт перекачиваемой жидкости два раза в сутки с записью показаний счётчиков: в 9:00 и 18:00, на следующий день всё тупо повторяется. Форму для ввода данных осилил, но вот с подсчётом суточного замера никак. Таблица "замера" состоит у меня из трёх полей: Дата, замер на 9:00, замер на 18:00 и так для 10 счётчиков отдельно. Возможно ли в этой же таблице ввести ещё два поля с условием на значение: дата текущая(замер на 9:00) - дата предыдущая(9:00) и аналогично для 18:00. Если задаю дополнительные поля ,то построитель выражений выдаёт только набор функций, а как правильно ввести и что именно нужно ввести ,чтобы данная арифметика заработала я пока не догоняю. Подскажите пожалуйста. Либо если создавать отдельную таблицу ,то какие поля необходимы вбить чтобы запрос заработал.

Добавлено через 27 минут
Забыл добавить MS Access 2003, сборка древняя, но другую поставить никак - ввиду ущемления прав пользователя админом компа, который к тому же весит на удалённом управлении из офиса компании. Так что ,что есть - то есть, нашим же офисным программистам до работяг с зачатками интеллекта дела нет и не будет пока сам не сделаешь.
Ответ: Вот так как-то должно быть
Вопрос: Работа с текущим временем

Здравствуйте.
Подскажите пожалуйста ,как можно реализовать операцию с проведением подсчёта показаний приборов учета(два раза в сутки утро и вечер) согласно текущему времени Now()?
Более понятно.
Пример:
При снятии замера оператор профукал время и записал показания в 10:10(обычно заносится в 9:00"+-" 5 минут) к примеру 23.03.2016г.
Предыдущий замер был на 9:05 "22.03.2016". С подсчётом и разработкой БД для замеров очень помогла Техник-Сан. Как пересчитать получившийся значение за 25:35мин на 24 часа(суточный приведённый). На калькуляторе без проблем(делим и умножаем в минутах или в часах в числовом формате), в БД тоже наверное требуется форматировать разницу в числовое значение. Как?

Добавлено через 20 минут
Косяк: за 25:05 мин в 24:00. Простите
Ответ:
Сообщение от mobile
Да, не будет. В запросе нет ни текущей даты Date(), ни текущего времени Time() или Now(). Из текста запроса неочевидно как туда вставить текущие дату/время
Придётся мудрить с самой структурой БД (учёт замера с привязкой к текущему времени). Ладно на работе попробую как-нибудь разобраться. Книг надо только побольше скачать.
Вопрос: По созданию запроса? БД дежурного МЧС

Помогите пожалуйста новичку Access!!!
Создается БД дежурного. Необходимо вести таблицы:
--Дежурные,
--Происшествия,
--Реагирование,
--Проверки.

Необходимо, чтобы после заполнения таблицы Дежурные
--код строки автоматически ставился в Код дежурного в другие таблицы.
--Происшествий может быть много, проверок тоже много, тренировок тоже.
--Дежурный заступает с 9.00 до 9.00 следующего дня.

Проблема!!
После установления связей перестает быть активна форма для заполнения таблиц.

Просьба, без критики (я новичок) помочь и указать в чем моя ошибка!
Ответ: Я ошибся. невозможно добавить данные в запрос [заполнение БД].
Вопрос: Как сделать выборку данных за сутки с 09:00 до 09:00

Здравствуйте! Я новичок-самоучка. Помогите пожалуйста!
Подскажите, как сделать выборку данных за сутки с 09:00 до 09:00 следующего дня.
Имеются поля:
 Дата
 Время выезда
 Вид выезда

Создала запрос:
Условие отбора (для поля «даты»):
Between DateAdd("d";-1; Date()) And DateAdd("d";0; Date())
Но в этом случае выводятся данные с 00:00 до 00:00 за сутки

Вводила условие отбора (для поля «время выезда»):
>#9:00:00#
Выводятся данные по времени после 09:00, но до 24:00 (00:00), а данные после 00:00 не выводит

Может кто уже сталкивался с таким вопросом и подскажет решение, заранее благодарна!
Ответ: Спасибо теперь все работает как нужно! Я очень благодарна Вам за помощь! еще раз спасибо!
Вопрос: Как сделать график приёма врача согласно расписанию?

Есть какой-то врач в таблице "Врачи", он работает только в какое-то определенное время,
Например, Иванов работает с 9:00 до 12:00.
Как сделать чтобы в таблице "Приёмы", если мы выбираем, врача Иванова, то можно было указывать время работы только в заданном диапазоне времени (с 9:00 до 12:00), иначе выдавать ошибку.
Ответ: Елена Водная, так как примера нет, то попробую обьяснить усно: поле с временем приема преобразуете в поле с подстановкой. и выводите в нем время работы с первой таблицы. естественно надо подстроить так, чтобы показывалось время врача, выбранного.
Вопрос: крон жоб в определенный день месяца и в определенное время суток

Добрый день,
пытаюсь создать следующий крон жоб,
хотел бы выполнять sql запрос в определенный день месяца, скажем в 1 и 15 день месяца,
и в определенное время суток, скажем в 9:00 утра или же
если есть возможность выполнять через каждые 3 часа на начиная с 9 утра, но sql запрос в каждом случае разный,
то есть в 9:00 один sql запрос, в 12:00 другой sql запрос, в общем четыре?

На данный момент все выполняю на уровне web server cron job,
что не удобно так как жобов много, штук 30.

заранее благодарю за ответы.
Ответ:
sakot
жобов много, штук 30.
Зачем так много, если SQL-запросов всего четыре?
Вопрос: Как оптимизировать?

Доброго времени суток!

СУБД:Microsoft SQL Server 2005 - 9.00.5000.00 (X64) Dec 10 2010 10:38:40 Copyright (c) 1988-2005 Microsoft Corporation Enterprise Edition (64-bit) on Windows NT 5.2 (Build 3790: Service Pack 2)

Есть процедура A в кторой есть следующий код:

DELETE
    Table1
    FROM Table1 p WITH (ROWLOCK INDEX = XPKTable1)
    WHERE p.SPID = @@SPID


Когда с этой процедурой работают много пользователей возникают длительные блокировки по таблице Table1.
Вопрос: Можно ли как нибудь оптимизировать удаление? И почему конструкция ROWLOCK накладывает блокировку на целую таблицу?

К сообщению приложен файл. Размер - 19Kb
Ответ: Таблица на которой возникают блокировки - полу временная, и раз в сутки очищается, но достаточно 2-х часов работы пользователей и таблица набивается до десятков миллионов записей. Логика работы процедуры такова, что когда пользователь разворачивает дерево счетов, в таблицу начинает активно записываться информация по SPID. Перед началом же работы процедуры старая записанная информация по SPID удаляется... Т.е. если имеем ситуацию когда пользователь развернул большое дерево то получаются монопольные блокировки на таблицу. Поговорив с нашим отделом по обслуживанию Диасофт пришли к мнению, что оптимизировать подобную логику нет смысла. т.к. при проливке обновлений все изменения затрутся.

Crimean
а та утиль, что блокировки так красиво показывает систему, между нами, грузит некисло
по крайней мере если процессов больше чем 100

По поводу утилиты MS SQL Blocks - да, нагрузка на систему есть. но в моем случае пока не критичная и пользы от нее пока больше чем вреда :) И процов у нас значительно меньше чем 100