Всем привет! Проблема в чем... Есть БД... Есть отчет с подчиненным отчетом. При печати этого отчета область подчиненного выводится вот так (после второй серой полосы): , а нужно что б было вот так: (дорисовывал). Т.е. дополняло определенным количеством пустых полей (если точнее то в общей сложности их всегда должно быть 5, со значениями или без). Помогите плз!
Надо создать общий запрос, где можно объединить текущий запрос и пустые строки, далее отбираем 5 строк из запроса: SELECT TOP 5 T3.* FROM [SELECT ALL * FROM Table_Data ORDER BY A1 DESC; UNION SELECT ALL * FROM Table_NULL ORDER BY A1 DESC; ]. AS T3;
P.S. Table_NULL - это таблица пустых строк, аналогичная таблице данных Table_Data. Такой запрос всегда будет иметь на выходе 5 строк, надо только аккуратно отсортировать данные. В примере данные отсортированы по полю A1. Решение можно придумать с использованием 2 запросов, а не одного. Этот запрос надо сделать источником данных подчиненного отчета.
Такс, я попробовал это вариант. Но, если запрос строить строго так как описано, то выскакивает ошибка типа "символ вне инструкции SQL" и указывает на последнюю закрывающую квадратную скобку. Я разбил его на 2 запроса, в итоге у меня получилось:
Первый запрос:
SELECT [perechen rabot].ID, [perechen rabot].[№ Заказа], [perechen rabot].workname, [perechen rabot].Opys FROM [perechen rabot] ORDER BY [perechen rabot].ID DESC; UNION SELECT tabl_null.ID, tabl_null.[№ Заказа], tabl_null.workname, tabl_null.Opys FROM tabl_null ORDER BY [perechen rabot].ID DESC;
второй сделал источником данных:
SELECT TOP 5 T3.* FROM Запрос1 AS T3;
Но... при этом в подчиненном отчете не только не выводятся дополнительные поля, а еще и для некоторых записей в подчиненном отчете не выводится ничего........ В каком месте я мог ошибиться?
1. UNION SELECT ALL - надо указать все (ALL)
2. Число полей и их типы должны совпадать во всех запросах.
хм.... а что делать если база является реплицируемой? т.е. выдает ошибку что в предложении SELECT запроса не допускается использование полей типа s_ColLineage