Служба отчетов SQL Server: кто-нибудь может объяснить это странное поведение при подсчете строк с помощью RowNumber? - PullRequest
1 голос
/ 20 июля 2010

Хотя моя первоначальная проблема подсчета количества строк в таблице уже решена, я все же хотел бы знать происхождение следующего поведения в службе отчетов SQL Server (надеюсь, пример достаточно ясен):

Я создал отчет со следующим набором данных:

select 1 AS Column1, 'First' AS Column2
union
select 2 AS Column1, 'Second' AS Column2
union 
select 2 AS Column1, 'Third' AS Column2
union
select 3 AS Column1, 'Fourth' AS Column2
union
select 3 AS Column1, 'Fifth' AS Column2

В своем отчете я создал список с группой под названием list1_Details_Group, основанный на столбце, в этот список я добавил таблицу с двумя столбцами; одна с номером строки ('= RowNumber ("list1_Details_Group")') и одна с "Column2". Когда я ставлю «Разрыв страницы в конце» моей группы, результат будет таким, как ожидалось:

альтернативный текст http://www.freeimagehosting.net/uploads/80536e09f9.png

Однако, когда я добавляю текстовое поле, содержащее следующее: '= "Количество элементов:" + ReportItems ("RowNumber"). Value.ToString', первые круглые числа на следующих страницах становятся неправильными:

альтернативный текст http://www.freeimagehosting.net/uploads/716694d095.png

Первый номер таблицы получает то же значение, что и значение текстового поля на предыдущей странице! Я не ожидал такого поведения, кто-нибудь может объяснить, почему это происходит?

Кстати: когда содержимое текстового поля равно '= "Количество элементов:" + RowNumber ("list1_Details_Group"). ToString', отчет печатается без проблем!

1 Ответ

0 голосов
/ 30 июля 2010

Куда вы добавляете текстовое поле? В детальной группе? Под столом?

Я бы взял другой подход к этому. Я хотел бы представить все это в одной таблице, показать верхний и нижний колонтитулы группы (с объединенными столбцами) и выполнить подсчет количества элементов в группе, используя функцию области действия. Таким образом, это всегда согласуется и не будет проблем с количеством строк.

Rownumber очень хрупкий, и небольшие изменения в вашем макете или выражениях могут сломать его из-за различных тонких деталей.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...