PDA

Просмотр полной версии : Как решить задачу?



ordmun
06.12.2017, 14:30
Добрый день, заказчик задал задачу к решению которой не знаю как подойти. Необходимо на мнемосхеме отображать именинников на сегодняшний день. Список именинников формировать допустим из БД. Подскажите каким путем лучше пойти. Заранее спасибо.

SCADAMaster
06.12.2017, 14:49
Воспользуйтесь редактором отчетом - в нем можно выполнить произвольный запрос и вывести таблицу.
Отчет можно размещать на мнемосхеме как контрол (по аналогии с трендом и журналом).

ordmun
06.12.2017, 15:24
Спасибо, создал отчет для объекта, разместил на мнемосхеме из палитры контрол Отчет, как связать его с созданным отчетом объекта?

ordmun
06.12.2017, 15:32
Спасибо, нашел сам в свойствах. Теперь другой вопрос как сделать отображение баз панели инструментов отчета? И как сделать автообновление?

SCADAMaster
06.12.2017, 15:35
В свойствах самого отчета (см. приложение)

ordmun
06.12.2017, 15:44
Спасибо! По автообновлению уже нашел!

ordmun
07.12.2017, 09:39
Возник очередной вопрос. В отчете подключил источником таблицу базы MS Access. В окне "Изменение источника данных" редактирую запрос - select Фамилия from Таблица1 Where Дата='14.10'; Задача получить из колонки Фамилии записи, где значения колонки дата равны 14.10. Запрос работает. А как указать в запросе вместо '14.10' параметр из дерева объекта?

SCADAMaster
07.12.2017, 10:04
Вытащите ее в секцию отчета "Переменные". Затем в запросе обратитесь к ней @, то есть:%
select Фамилия from Таблица1 Where Дата=@МояПеременная;

ordmun
07.12.2017, 12:07
Сделал как сказали, не получается. Запрос не выполняется.34514

lara197a
07.12.2017, 12:16
вообще это можно решить простой программой (макросом) с использование операторов For.
в 0 часов по событию запускаете перебор списка сотрудников по дате рождения.
если совпадение найдено. то записывает во временный массив типа дата, ф.и.о., который выводите на экран.
в 23-59 массив очищаете.

ordmun
07.12.2017, 12:25
Спасибо, но хотелось бы сделать в отчете.

SCADAMaster
07.12.2017, 12:39
Сделал как сказали, не получается. Запрос не выполняется.34514
Попробуйте тогда перетащить переменную в Параметры у источника данных, а затем обращаться через неименованный параметры.
Подробнее про неименованный параметр написано здесь:
https://www.stimulsoft.com/ru/documentation/online/user-manual/index.html?data_data_dictionary_datasources_querie s_parameters.htm

ordmun
07.12.2017, 15:35
Спасибо за ссылку, к сожалению не один из способов описанных в нем не заработал. Сделал следующий запрос select Фамилия, Дата from Таблица1 Where Дата is not null and DATEADD("yyyy", DATEDIFF("yyyy", Дата, DATE()), Дата) BETWEEN DATE() AND DATEADD("d", 0, DATE()); Он ищет по дате и месяцу. Если вместо 0 подставить 2, то выберет на сегодня и завтра.

ordmun
11.12.2017, 07:47
Добрый день, возникла следующая проблема. При попытке установить соединение с БД Access 2010 выдает ошибку: 34596. Access установлен 2010 и 2016. Как решить?

SCADAMaster
11.12.2017, 08:30
Нужно поставить его:
http://www.sql.ru/forum/1148635/postavshhik-microsoft-ace-oledb-12-0-ne-zaregistrirovan

ordmun
11.12.2017, 10:06
Устанавливал, не помогло.34607

SCADAMaster
11.12.2017, 10:43
Вы устанавливали 32 битный или 64?

ordmun
11.12.2017, 11:50
AccessDatabaseEngine_X64.exe

SCADAMaster
11.12.2017, 13:12
Удалите и поставьте 32 битную. Редактор отчетов 32 битное приложение - он с ним не соединится.

ordmun
11.12.2017, 14:27
Большое человеческое спасибо!!!