水晶报表 无效索引。 (异常来自 HRESULT:0x8002000B (DISP_E_BADINDEX))错误的解决

问题描述:调用水晶报表时报错,错误信息为无效索引。 (异常来自 HRESULT:0x8002000B (DISP_E_BADINDEX))

问题出现的代码位置:SetDataSource

问题解决办法:检查报表用到的字段是否包含在对应的Dataset中,如果没有则会提示上面的错误

问题解决过程:

1、根据代码判断是水晶报表的问题,但是使用其它报表文件不报错,因此可以初步判定不是水晶报表的BUG,而是报表文件的问题;

2、根据第1步,判断是报表文件的问题,于是将重建报表模板参照报错报表,但是依然报错;

3、根据第2步,判断是报表文件内容有错,于是删除所有数据库字段项报错,但是依然报错;

4、根据第3步,检查传递报表参数是否完整最终发现缺少参数,添加问题解决

其他导致原因:

1.参数字段传值与报表参数不对应(缺少必填项、参数传递过多、参数不对应等)

2.dataset模板更新不及时,导致取值与模板不一致

3.公式字段报错

原文地址:https://www.cnblogs.com/glt3260053/p/2922397.html