|
0 / 0 / 0
Регистрация: 29.07.2011
Сообщений: 4
|
|
Получить данные из Access и построить отчет29.07.2011, 09:59. Показов 1909. Ответов 5
Метки нет (Все метки)
Добрый день всем, вопрос заключается в следующем.
Есть база данных на ACCESS, в ней есть одна таблица, в которой хранятся записи времени включения отключения датчиков Структура примерно следующая logtime id check 04.03.2011 15:36:15 0074000 1 04.03.2011 16:01:35 0074000 1 04.03.2011 15:40:15 0076000 1 04.03.2011 18:39:27 0074000 2 04.03.2011 18:34:12 0076000 2 logtime - время и дата включения и отключения id - Номер датчика check - 1 - включено 2 выключено Базу подключил через ADO Прошу помощи в написании запроса или алгоритма подсчета для датчиков времени работы между включением и отключением и вывода какого либо отчета по дням.
0
|
|
| 29.07.2011, 09:59 | |
|
Ответы с готовыми решениями:
5
Возможно ли построить в Access 2000 кросс-отчет, используя SQL? Отчет FastReport должен брать данные из БД Access C# Access как подключиться с локальной формы и получить данные из БД Access расположенной на сайте |
|
19 / 19 / 0
Регистрация: 22.07.2011
Сообщений: 68
|
|
| 29.07.2011, 10:35 | |
|
Алгоритм подскажу...
1. Выбираешь записи по конкретному датчику за конкретный период. 2. Запросами типа SELECT ... ORDER BY ... LIMIT 1 определяешь тип (включение или выключение) двух событий - первого и последнего за указанный период. Например, если у тебя самое раннее событие за период было выключением, логично предположить, что время начала периода будет как бы "включением", а если первое событие было включением - время начала периода нас не интересует, то же самое и со временем окончания периода/последней записью. В ходе пункта 2 у тебя должно остаться четное число записей с равным количеством включений и выключений. 3. сложным запросом SELECT находишь разность между суммой времен включения и суммой времен выключения датчиков. Если всё верно - profit п.с. вместо 1/2 лучше использовать 0/1 - легче писать условия
0
|
|
|
0 / 0 / 0
Регистрация: 29.07.2011
Сообщений: 4
|
|
| 29.07.2011, 11:05 [ТС] | |
|
Алгоритм примерно я понял
С SQL запросами никогда не работал, тем более сложными... Если не трудно можете привести код запроса?
0
|
|
|
19 / 19 / 0
Регистрация: 22.07.2011
Сообщений: 68
|
||||||
| 29.07.2011, 11:57 | ||||||
Должно возвращать integer, чтобы получить в формате времени, нужно перевести.
0
|
||||||
|
0 / 0 / 0
Регистрация: 29.07.2011
Сообщений: 4
|
|
| 01.08.2011, 21:06 [ТС] | |
|
Вариант работы отчета должен быть таков.
Выбирается период - например месяц. В отчете должны быть отображены значения работы датчика в течение суток. То есть 1 числа датчик работал 9 часов 2 числа -14 часов и т.д. В течение суток у датчика может быть несколько раз срабатывать включение и выключение. Я так понимаю нужно брать первое включение и искать первое отключение и подсчитывать данный диапазон? Можно ли все это сделать запросами SQL? Или нужно брать таблицу и последовательно ее просчитывать по каждому id?
0
|
|
|
0 / 0 / 0
Регистрация: 29.07.2011
Сообщений: 4
|
|
| 06.08.2011, 10:02 [ТС] | |
|
Получилось сделать вот такой запрос - но есть проблемы
ADOTable1.active:=true; ADOTable1.RecNo:=4; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('SELECT (SELECT max(logtime) FROM LOG WHERE (userid=:iduser and check=2 AND logtime>:tann AND logtime<:tann1)) - (SELECT min(logtime) FROM LOG WHERE (userid=:iduser and functionno=1 AND logtime>:tann AND logtime<:tann1))'); ADOQuery1.parameters.parambyname('iduser ').value:=Adotable1.fieldbyname('userid' ).AsString; ADOQuery1.parameters.parambyname('tann') .value:=DBDateTimePicker1.Date; ADOQuery1.parameters.parambyname('tann1' ).value:=DBDateTimePicker2.Date; ADOQuery1.Active:=True; Заданы параметры выбора диапазона дат, а также userid - берется из другой таблицы При выполнении этого запроса выдается ошибка: Предоставлены неполные или несовместимые сведения Если запрос разбить на два отдельных запроса, которые считают минимальное время и максимальное время, то они выполняются и выдают дату и время. А вот подсчитать разницу что то у меня не получается? в чем проблема?? Подскажите плиз
0
|
|
| 06.08.2011, 10:02 | |
|
Помогаю со студенческими работами здесь
6
Как передать данные из access на сайт и после получить ответ с сайта и занести в access ? Получить данные из таблицы в Access
Как получить данные из таблицы access db в массив? Подстановка области из excel в форму Access и перенос в отчет Access Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
|
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования.
Часть библиотеки BedvitCOM
Использованы. . .
|
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога
SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
|
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|