Winforms RDLC查找不工作

Winforms RDLC查找不工作,winforms,rdlc,reportviewer,Winforms,Rdlc,Reportviewer,我有一个表,其中有一组带有整数的数据,这些整数标记了在另一个数据集中查找字符串描述的位置。我尝试使用: =LOOKUP( CINT(Fields!LTC_Leak.Value), CINT(Fields!LTC_Leak.Value), Fields!LTC_LeakDesc.Value, "LeakCheckTypes" ) 这应该使用详细信息数据集中的整数字段LTC\U Leak。该表也有范围,并在“LeakC

我有一个
,其中有一组带有整数的数据,这些整数标记了在另一个
数据集
中查找字符串描述的位置。我尝试使用:

=LOOKUP(
        CINT(Fields!LTC_Leak.Value),
        CINT(Fields!LTC_Leak.Value),
        Fields!LTC_LeakDesc.Value,
        "LeakCheckTypes"
        )
这应该使用详细信息数据集中的整数字段
LTC\U Leak
。该表也有范围,并在
“LeakCheckTypes”
数据集中查找该行的描述,但我一直得到错误:

The Value expression for the text box 'LeakCheckType' refers to the field 'LTC_LeakDesc'. Report item expressions can only refer to fields within the current dataset scope or, if inside an aggregate, the specified dataset scope.
我已经使用调试器进行了检查,所有的
数据集都存在,命名正确,并且具有所有正确的数据。有人知道我做错了什么吗

从我使用的datasetmodel添加xml(缩短为受影响的表)


RDLC文件中的XML:

<DataSet Name="LeakCheckTypes">
  <Query>
    <DataSourceName>OprData</DataSourceName>
    <CommandText>/* Local Query */</CommandText>
  </Query>
  <Fields>
    <Field Name="LTC_Leak">
      <DataField>LTC_Leak</DataField>
      <rd:TypeName>System.Int32</rd:TypeName>
    </Field>
    <Field Name="LTC_LeakDesc">
      <DataField>LTC_LeakDesc</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="Leak_Tolerance">
      <DataField>Leak_Tolerance</DataField>
      <rd:TypeName>System.Decimal</rd:TypeName>
    </Field>
    <Field Name="LC_Length">
      <DataField>LC_Length</DataField>
      <rd:TypeName>System.Int32</rd:TypeName>
    </Field>
    <Field Name="VTA">
      <DataField>VTA</DataField>
      <rd:TypeName>System.Boolean</rd:TypeName>
    </Field>
  </Fields>
  <rd:DataSetInfo>
    <rd:DataSetName>OprData</rd:DataSetName>
    <rd:SchemaPath>C:\Users\aridder\Desktop\AC Recipe Builder\AC Recipe Builder\OprReports\OprData.xsd</rd:SchemaPath>
    <rd:TableName>LeakCheckTypes</rd:TableName>
    <rd:TableAdapterFillMethod>Fill</rd:TableAdapterFillMethod>
    <rd:TableAdapterGetDataMethod>GetData</rd:TableAdapterGetDataMethod>
    <rd:TableAdapterName>LeakCheckTypesTableAdapter</rd:TableAdapterName>
  </rd:DataSetInfo>
</DataSet>

<DataSet Name="Details">
  <Query>
    <DataSourceName>OprData</DataSourceName>
    <CommandText>/* Local Query */</CommandText>
  </Query>
  <Fields>
    <Field Name="Row">
      <DataField>Row</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="OPRID">
      <DataField>OPRID</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="NAME">
      <DataField>NAME</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="LTC_Cure">
      <DataField>LTC_Cure</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="LTC_Leak">
      <DataField>LTC_Leak</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="LTC_VacuumCheck">
      <DataField>LTC_VacuumCheck</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="LTC_VacuumInterval">
      <DataField>LTC_VacuumInterval</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="LTC_VacuumCheckType">
      <DataField>LTC_VacuumCheckType</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
  </Fields>
  <rd:DataSetInfo>
    <rd:DataSetName>OprData</rd:DataSetName>
    <rd:SchemaPath>C:\Users\aridder\Desktop\AC Recipe Builder\AC Recipe Builder\OprReports\OprData.xsd</rd:SchemaPath>
    <rd:TableName>Details</rd:TableName>
    <rd:TableAdapterFillMethod />
    <rd:TableAdapterGetDataMethod />
    <rd:TableAdapterName />
  </rd:DataSetInfo>
</DataSet>

OprData
/*本地查询*/
LTC_泄漏
System.Int32
LTC_LeakDesc
系统字符串
泄漏容限
十进制
LC_长度
System.Int32
VTA
系统布尔
OprData
C:\Users\aridder\Desktop\AC Recipe Builder\AC Recipe Builder\OprReports\OprData.xsd
漏检类型
填满
获取数据
LeakCheckTypeStableApter
OprData
/*本地查询*/
一行
系统字符串
奥普拉德
系统字符串
名称
系统字符串
长期护理
系统字符串
LTC_泄漏
系统字符串
LTC_真空检查
系统字符串
LTC_真空计
系统字符串
LTC_真空检查类型
系统字符串
OprData
C:\Users\aridder\Desktop\AC Recipe Builder\AC Recipe Builder\OprReports\OprData.xsd
细节

注意:我也尝试过在字段上不使用CINT(),它给出了相同的错误。该错误使我认为第二个数据集中不存在字段“LTC_LeakDesc”(“LeakCheckTypes”)。检查您的数据集定义(xml)和基础查询。奇怪的是,我使用调试器进行了检查,以确保列和数据集名称都正确并且包含数据。从我在发布这个问题之前的研究来看,这似乎是不应该发生的事情,但我不知道是什么导致了它,因为所有的名字都是正确的。我甚至尝试过删除和重新创建数据集,以及它们在整个应用程序中的使用方式,但没有解决任何错误。您能否为您的问题添加包含报告数据源定义的XML部分?您是否能够将详细数据集中的LTC_泄漏字段转换为数据库中的INT并尝试使用该字段。它可能是导致报告引擎问题的字符串。
<DataSet Name="LeakCheckTypes">
  <Query>
    <DataSourceName>OprData</DataSourceName>
    <CommandText>/* Local Query */</CommandText>
  </Query>
  <Fields>
    <Field Name="LTC_Leak">
      <DataField>LTC_Leak</DataField>
      <rd:TypeName>System.Int32</rd:TypeName>
    </Field>
    <Field Name="LTC_LeakDesc">
      <DataField>LTC_LeakDesc</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="Leak_Tolerance">
      <DataField>Leak_Tolerance</DataField>
      <rd:TypeName>System.Decimal</rd:TypeName>
    </Field>
    <Field Name="LC_Length">
      <DataField>LC_Length</DataField>
      <rd:TypeName>System.Int32</rd:TypeName>
    </Field>
    <Field Name="VTA">
      <DataField>VTA</DataField>
      <rd:TypeName>System.Boolean</rd:TypeName>
    </Field>
  </Fields>
  <rd:DataSetInfo>
    <rd:DataSetName>OprData</rd:DataSetName>
    <rd:SchemaPath>C:\Users\aridder\Desktop\AC Recipe Builder\AC Recipe Builder\OprReports\OprData.xsd</rd:SchemaPath>
    <rd:TableName>LeakCheckTypes</rd:TableName>
    <rd:TableAdapterFillMethod>Fill</rd:TableAdapterFillMethod>
    <rd:TableAdapterGetDataMethod>GetData</rd:TableAdapterGetDataMethod>
    <rd:TableAdapterName>LeakCheckTypesTableAdapter</rd:TableAdapterName>
  </rd:DataSetInfo>
</DataSet>

<DataSet Name="Details">
  <Query>
    <DataSourceName>OprData</DataSourceName>
    <CommandText>/* Local Query */</CommandText>
  </Query>
  <Fields>
    <Field Name="Row">
      <DataField>Row</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="OPRID">
      <DataField>OPRID</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="NAME">
      <DataField>NAME</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="LTC_Cure">
      <DataField>LTC_Cure</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="LTC_Leak">
      <DataField>LTC_Leak</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="LTC_VacuumCheck">
      <DataField>LTC_VacuumCheck</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="LTC_VacuumInterval">
      <DataField>LTC_VacuumInterval</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
    <Field Name="LTC_VacuumCheckType">
      <DataField>LTC_VacuumCheckType</DataField>
      <rd:TypeName>System.String</rd:TypeName>
    </Field>
  </Fields>
  <rd:DataSetInfo>
    <rd:DataSetName>OprData</rd:DataSetName>
    <rd:SchemaPath>C:\Users\aridder\Desktop\AC Recipe Builder\AC Recipe Builder\OprReports\OprData.xsd</rd:SchemaPath>
    <rd:TableName>Details</rd:TableName>
    <rd:TableAdapterFillMethod />
    <rd:TableAdapterGetDataMethod />
    <rd:TableAdapterName />
  </rd:DataSetInfo>
</DataSet>