Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / RS, multi-value / 17 сообщений из 17, страница 1 из 1
03.06.2010, 15:36
    #36666988
sparkleet
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS, multi-value
помогите разобраться и дописать запрос.
есть парамерт multi-value

lable default
Все -1
-1 999
0 0
1 1
2 2

в пареметре нужно заменить -1 на другое число к примеру 999, так как настроки интерфейса, где лежат отчеты -1 означает выбрать все и обязательно нужно, что бы параметр был multi-value, а в таблите заменить на другую оценку не получиться так как -1, это шкала по графику.

вот в запросе пишу условие

WHERE (FM_PI > @PI__0) AND (FM_PI < @PI__1)
AND (dbo.DMM_code_pr(code_problem) IN (@Problem))
AND (KOO_ojid > @Parametr__0) AND (KOO_ojid < @Parametr__1)
AND (Main_F0 IN (CASE @ParametrF0 WHEN
CAST('999' AS nvarchar(2)) THEN CAST('-1' AS nvarchar(2))
ELSE CAST(@ParametrF0 AS nvarchar(10)) END))

и при загрузке когда выбираю 2,1 к примеру
выдает ошибку
An error has occurred during report processing.
Query execution failed for data set 'FMDB'.
Line 11: Incorrect syntax near ','.

я в свойстве Date set пишу =join(Parameters!ParametrF0.Value, ",") выдает следующее

An error has occurred during report processing.
Cannot read the next data row for the data set FMDB.
Error converting data type nvarchar to float.

при выборе единичного параметра отрабатывает, при выборе нескольких ругаеться. либо я уже ничего совсем не понимаю.
...
Рейтинг: 0 / 0
03.06.2010, 15:50
    #36667037
Vitaly86
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS, multi-value
всё сложнее. надо писать процедуру и парсить строку, которая приходит в качестве параметра от RS в таблицу.
...
Рейтинг: 0 / 0
03.06.2010, 15:53
    #36667057
sparkleet
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS, multi-value
Vitaly86,

а подскажите приблизительно как.
...
Рейтинг: 0 / 0
03.06.2010, 15:53
    #36667058
Vitaly86
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS, multi-value
параметр будет "1,2,3,4,5"
а работать нужно с таблицей

Код: plaintext
1.
2.
3.
4.
5.
declare table @t ( id int )

.... тут строку разбираем в таблицу ....

select * from My_Table
where my_id in ( select id from @t )
...
Рейтинг: 0 / 0
03.06.2010, 19:03
    #36667703
Syoma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS, multi-value
Если не ошибаюсь, вот такая конструкция еще должна сработать


DECLARE @query VARCHAR(255)

SET @query = 'select * FROM dbo.your_table WHERE id IN ('+@your_parameter+')'

EXEC(@query)
...
Рейтинг: 0 / 0
03.06.2010, 20:41
    #36667833
sparkleet
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS, multi-value
Syoma,
а где прописывать такую конструкцию, во вкладке Data, где пишем запрос или эту конструкцию функцией пишем.

спасибо за советы.
...
Рейтинг: 0 / 0
04.06.2010, 10:56
    #36668586
Syoma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS, multi-value
Да, прямо на вкладке Data, сейчас сам проверил все работает. Так что можно и без процедуры обойтись.
...
Рейтинг: 0 / 0
07.06.2010, 12:33
    #36672840
sparkleet
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS, multi-value
Syoma,

Да запрос таким образом отрабатывает, спасибо. но вот при компилировании отчета требудет какие то библиотеки dll, как этого избежать?
...
Рейтинг: 0 / 0
07.06.2010, 16:07
    #36673583
Syoma
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS, multi-value
sparkleet,

Не встречал такого.

Есть ощущение, что это Ваш VB-код отчета требует dll. А что именно требует?
...
Рейтинг: 0 / 0
07.06.2010, 21:31
    #36674225
sparkleet
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS, multi-value
Syoma,

требует библиотеки *.dll, типа они отсутвуют в папке local seting\Temp, при каждом сохранении требудет новые файлы, каждый раз разные. если не ошибусь на память сейчас то вот одна из них a5mgf3.dll

И вот не получается откомпелировать и сохранить изменения.
...
Рейтинг: 0 / 0
08.06.2010, 07:23
    #36674534
sparkleet
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS, multi-value
Syoma,

вот такие библиотеки требует 2t23fyhf.dll, 1i2bhkvf.dll
...
Рейтинг: 0 / 0
08.06.2010, 09:12
    #36674627
minya13_85
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS, multi-value
multiValue там написано как передать множественный параметр в процедуру.
...
Рейтинг: 0 / 0
08.06.2010, 12:56
    #36675216
sparkleet
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS, multi-value
Syoma

DECLARE @query VARCHAR(255)

SET @query = 'select * FROM dbo.your_table WHERE id IN ('+@your_parameter+')'

EXEC(@query)


почему то при такой конструкции при добавлении в условие where параметров, у меня пропадает в loayout поля и отчет не получается откомпелировать так как поля не описаны. в чем может быть причина? сам запрос во вкладке DATA отрабатвает корректно.
...
Рейтинг: 0 / 0
08.06.2010, 13:12
    #36675272
buven
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS, multi-value
Потому что VS не знает,какие поля вы ему передаете, т.к. запрос формируется "динамически". При деплое, если не ошибетесь в названиях полей, все придет куда нужно. Такая же бадяга происходила при вызове процедур в датасете. Лечилось как то, но было это сродни шаманству: потыкал, потыкал - скомпилилось.
...
Рейтинг: 0 / 0
08.06.2010, 13:13
    #36675277
buven
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS, multi-value
А вроде бы если перечислить поля в запросе, а не звездочку селектить, то VS все поймет и узнает. По-моему так...
...
Рейтинг: 0 / 0
08.06.2010, 13:18
    #36675300
sparkleet
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS, multi-value
buven,


я описываю все стобцы в запросе
...
Рейтинг: 0 / 0
08.06.2010, 13:37
    #36675358
Vitaly86
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
RS, multi-value
sparkleet, может сделать что то типа:
Код: plaintext
1.
2.
3.
4.
5.
declare @t table ( id int )
...
insert @t
EXEC(@query)

select id from @t
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / RS, multi-value / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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