powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / имя таблицы как параметр
5 сообщений из 5, страница 1 из 1
имя таблицы как параметр
    #35655069
andros8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Возник вопрос:
В базе есть таблицы:
Table1,
Table2,
...
TableN.
Сколько этих N - не известно, имена отличаются только индексом, таблицы создаются процедурой при регистрации нового отделения некой компании.
Как можно в шаблон отчета передать имя конкретной таблицы, для использования ее в формуле?
Например в фомуле шаблона прописано {Table1.EmployeeId} = 1, а мне нада вытянуть значения из Table5.
...
Рейтинг: 0 / 0
имя таблицы как параметр
    #35655072
andros8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сори, забыл сказать - шаблон в CrystalReports
...
Рейтинг: 0 / 0
имя таблицы как параметр
    #35655980
Ghola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот уж изврат из извратов. Но решить вашу проблему можно например так. Как источник данных отчёта прописать хранимую процедуру (T-SQL). Одним из параметров этой ХП модет быть название таблицы или её номер. В ХП используется динамический SQL-запрос. Т.е. SQL - запрос формируется как строка в зависимости от параметра. После чего исполняется с помощью инструкции exec.
...
Рейтинг: 0 / 0
имя таблицы как параметр
    #35658370
andros8
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GholaВот уж изврат из извратов. Но решить вашу проблему можно например так. Как источник данных отчёта прописать хранимую процедуру (T-SQL). Одним из параметров этой ХП модет быть название таблицы или её номер. В ХП используется динамический SQL-запрос. Т.е. SQL - запрос формируется как строка в зависимости от параметра. После чего исполняется с помощью инструкции exec.

Согласен - изварт :) Но другого выхода, пока, не вижу.
ХП уже написана и работает (создает нужные таблицы и заполняет их), но проблема была в универсальности шаблона отчета, т.е. один шаблон на несколько таблиц.

Ответ вроде-бы нашел, кому интересно смотрите тут .
...
Рейтинг: 0 / 0
имя таблицы как параметр
    #35660162
Ghola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и как вариант. Можно обойтись без динамического SQL в ХП. Для этого сделать одно предствление (view) для всех таблиц Table1,...,TableN и при регистрации нового отделения добавлять представление новой таблицы в это представление. Соответственно, из хранимкм обращаться, используя в качестве одного из фильтров имя таблицы.
Пример представления, объединяющего две таблицы:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
create table t1( i int )
GO
create table t2 ( i int)
GO

insert t1 values ( 1 )
insert t1 values ( 2 )
insert t2 values ( 1 )
insert t2 values ( 2 )
GO
create view v1
as
select N'Table1' AS [name], * from t1
union
select N'Table2', * from t2
GO

select * from v1
select * from v1 where name=N'Table1'

drop table t1
drop table t2
drop view v1
Представление в MS SQL, кстати, даже может быть индексированным.

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


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