【问题标题】:The Value expression for the textrun ‘Textbox15.Paragraphs[0].TextRuns[0]’ contains an error: [BC30201] Expression expected文本运行“Textbox15.Paragraphs[0].TextRuns[0]”的值表达式包含错误:[BC30201] 预期表达式
【发布时间】:2019-03-29 06:51:03
【问题描述】:

当我尝试在 SSRS 的文本框中运行 select 语句时收到此错误。所以,基本上,我试图返回一个不在给定数据集中的字段。所以我运行了一个子查询,它使用现有数据集作为容器返回值。

但我不知道如何在 Expression 字段中表示该返回值。因为表达式字段返回的值在提供的数据集中。

我已经提供了我编写的 SQL。

任何建议将不胜感激。

我的意图是返回“CommentText”值。但是,数据集不包含任何 commenttext 字段,而是 EmpID 字段。所以我创建了下面的子查询,它从 LaborDtlComment 表中调出 CommentText,当它与报表数据集中的 EmpID 匹配时,它返回 CommentText 值。

select [CommentReturnQuery].[LaborDtlComment_CommentText] as [LaborDtlComment_CommentText],
[EmpBasic].[EmpID] as [EmpBasic_EmpID]
   from Erp.EmpBasic as EmpBasic
   inner join  (select [LaborDtlComment].[CommentText] as [LaborDtlComment_CommentText],
[LaborDtl].[EmployeeNum] as [LaborDtl_EmployeeNum]
      from Erp.LaborDtlComment as LaborDtlComment
      inner join Erp.LaborDtl as LaborDtl on LaborDtlComment.Company = LaborDtl.Company
and LaborDtlComment.LaborHedSeq = LaborDtl.LaborHedSeq
and LaborDtlComment.LaborDtlSeq = LaborDtl.LaborDtlSeq)  as CommentReturnQuery
on EmpBasic.EmpID = CommentReturnQuery.LaborDtl_EmployeeNum

我的目标是在文本字段中显示 CommentText 值。所以我将创建

文本字段,它将包含我编写的 SQL。谁能帮忙

我在这种情况下?

【问题讨论】:

  • 您确定查询在 SSMS 中正常工作吗?您应该可以像往常一样简单地将LaborDtlComment_CommentText 添加到文本框中。我看到它失败的唯一方法是查询有问题。
  • 嗨史蒂夫,查询运行完美。它返回我期望的结果。我已经在 Epicor 内置的 SQL 中运行了查询,称为 BAQ。但我需要在从 Epicor 作为 SSRS 导出的报告中使用此查询(数据集是固定的)。我只能使用导出报告中的数据集运行一些有限的查询。所以数据集是固定的。如果数据集中没有我需要在报告中显示的任何字段(自定义),那么我必须编写这种类型的查询以从另一个子查询中获取字段值并将其与现有数据集相关联以获取字段值。
  • 更新:字段值现在没有显示任何错误。但是,它直接显示 SQL 查询而不是 SQL 返回的值。任何建议都非常感谢。我非常失望,因为我必须在这个星期一提交这份报告:(
  • 好吧,如果你想在文本框中调用查询是不可能的。如果您可以提供一些示例数据和布局的一般概念,这可能会更容易。我真正能做的就是推测,无需更多细节。
  • 嗨@Steve-o169,我在这里附上了3张报告的照片。

标签: reporting-services ssrs-2008


【解决方案1】:

使用SSRS函数lookup(单对1对1)或lookupset(多对1)可能更简单。microsoft lookup reference

您必须创建查询/数据集以从 LaborDtlComment 表中返回带有 EmpID 的 CommentText

【讨论】:

  • 嗨,伙计,谢谢你的建议。我当前的查询实际上从 LaborDtlComment 表中返回带有 EmpID 的 CommentText。唯一的问题是我不确定如何将它们放置在显示价值的文本字段中。例如,我创建了一个新的文本字段。在值表达式字段中,如果我输入上述查询,它会显示我提到的错误。关于查找,因为我只有一个不包含评论文本的数据集,这就是我无法使用查找的原因。您知道如何在文本字段中使用 select 语句来返回值吗?提前致谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-18
相关资源
最近更新 更多