Сохранение значения суммы ReportItems.TextBox в SSRS

У меня есть следующее:

=Round(ReportItems!Textbox47.Value
+ CDbl(ReportItems!Textbox218.Value)
+ CDbl(ReportItems!Textbox222.Value)
+ CDbl(ReportItems!Textbox226.Value)
+ CDbl(ReportItems!Textbox230.Value)
+ CDbl(ReportItems!Textbox234.Value),2,MidpointRounding.ToEven)

Это сохраняется в текстовом поле под названием ReportItems!TotalSaves.Value

Это TextBox является частью DataSet1. Что я хочу сделать, так это вызвать этот TextBox в другом наборе данных.

Я попробовал поиск, и он не работает. Я попытался сохранить значение этого TextBox в глобальной переменной, но он не принимает элементы в коллекции отчетов.

EDIT1:

Я попытался сделать следующее:

Public Function GetValue(Byval value  as Double) 
prueba = value
End Function

Public Function Value() As Double
Return prueba
End Function

Я вызвал функцию GetValue внутри Dataset1, где ReportItems!TotalSaves.Value существует в выражении:

Code.GetValue(ReportItems!TotalSaves.Value)

А затем вызовите функцию Value в Dataset2

Code.Value()

Но он возвращает 0, поэтому значение не сохранено, возможно, оно сохранено, но по какой-то причине Value не получает значение, сохраненное в функции GetValue, даже если это одна и та же переменная.

EDIT2:

Я попытался внести изменения, которые мне сказал Алехандро: введите здесь описание изображения

Но: введите здесь описание изображения

На английском языке: «Значение выражения для TextBox50 делает ссылку на элемент «TotalFrecPromVentas» (это текстовое поле, которое существует в Tablix1/dataset1, но не существует в Tablix2/Dataset2), выражения элемента отчета могут ссылаться только на другие элементы та же группа.


person Nickso    schedule 27.10.2015    source источник
comment
Если я прав, это выражение помещается в текстовое поле табликса, для которого установлено значение DataSet1, и вам нужно взять значение этого текстового поля и поместить его в текстовое поле другого табликса набора данных. Верно?   -  person alejandro zuleta    schedule 27.10.2015
comment
Да, Dataset1 имеет это выражение в текстовом поле, и идея состоит в том, чтобы ссылаться на это текстовое поле в другом текстовом поле другого набора данных в отдельном табликсе.   -  person Nickso    schedule 27.10.2015
comment
Я думаю, что нет необходимости использовать функцию для возврата значения, потому что вы ничего не агрегируете. Проверьте мой ответ, он работает для меня.   -  person alejandro zuleta    schedule 27.10.2015


Ответы (2)


Вы можете сослаться на текстовое поле в другом наборе данных, используя ReportItems!TotalSaves.Value, который вы указали в своем вопросе.

Например, если у меня есть текстовое поле, которое суммирует значения в столбце следующим образом

введите здесь описание изображения

Я могу ссылаться на это значение из другой таблицы, используя другой набор данных, следующим образом

введите здесь описание изображения

Это приведет к следующему результату, в данном случае очень простое определение таблицы 6 умножения

введите здесь описание изображения

Это то решение, которое вы искали? Если вам нужны дополнительные разъяснения или другой подход, дайте мне знать.

person Jonnus    schedule 27.10.2015
comment
Я не уверен, как информация в Edit2 относится к моему предложенному ответу... В этом решении не используются public function - person Jonnus; 27.10.2015

Попробуйте изменить:

Dim public total as Double 

Public Function GetValue(ByVal numero as Double ) AS Double
    total = numero  
    return total
End Function

В выбранном текстовом поле с именем Mytextbox я вручную помещаю двойное значение: =12.456.

Текстовое поле в красном прямоугольнике — это текстовое поле, в которое я хочу поместить указанное значение Mytextbox.

введите здесь описание изображения

Поэтому в текстовом поле я помещаю следующее выражение:

=Code.GetValue(ReportItems!MyTextbox.Value)

Вы должны поставить =Code.GetValue(ReportItems!TotalSaves.Value).

Примечание. Я не использую функцию Value(). Моя функция просто возвращает значение переданного параметра.

введите здесь описание изображения

Не используйте функцию Value(), используйте мой код.

Это сработало для меня. Дайте мне знать, если это может помочь вам.

person alejandro zuleta    schedule 27.10.2015
comment
@Nickso, попробуй мой ответ. Используйте мой код, я не использую функцию Value() - person alejandro zuleta; 27.10.2015