当我有两个可选数据源时,不知道字段名称

时间:2017-09-13 03:03:36

标签: vb.net crystal-reports

我的报告文件中有一些公式,其中包含一些可选字段。

这是我的公式

if {viewtbl.ProductID}="2" then    
   "This Product must be send at " ToText(CDate({viewtbl.DateSend}), "dd-MM-yyyy") 
else   
   "This is not Product 2"

在我的aspx.vb文件中,我还有两个可选的数据源,取决于在下拉列表中选择的产品。

If ddlProduct.SelectedValue = "2" Then
  Me.DataSource = "Select t1.ProdName, t2.DateSend from tbl1 t1 iner join tbl2 t2 on t1.ID = t2.ID"
Else
  Me.DataSource = "Select ProdName from tbl1"
End If

因此,当选定的下拉列表是产品2时,报告就可以了。但是我选择了其他产品,报告收到错误,因为{viewtbl.DateSend}未知。

我尝试制作两个单独的公式,但仍然遇到同样的错误。

当公式和数据源不直接指向产品2时,如何知道{viewtbl.DateSend}

而且我怎么能解决这个问题,因为看起来我不能为这个案子做两个单独的报告。

1 个答案:

答案 0 :(得分:0)

您必须提供报告中使用的每个字段,即使它从未被评估过。

如果所选产品不是2,请尝试设置Me.DataSource = "Select ProdName, NULL AS DateSend from tbl1"