应该是单元格没有值导致的,应该加上判断
if e.DataRow.isnull("销售单行号") = false
Dim Int1 As Integer = CInt(e.DataRow("销售单行号"))
dr1 = DataTables("销售单").Find("产品代号 = '" & e.DataRow("物料编号") & "' And 销售单号 = '" & e.DataRow("销售单号") & "' And 销售单行号 = " & Int1)
endif
表达式中的日期用符号#括起来,数值则不需要任何符号括起来,这些和代码中的格式是一样的,唯一不同的是字符串用单引号括起来。
例如:
Tables("订单").Filter = "[产品] = 'PD01'" '字符用单引号括起来
Tables("订单").Filter = "[日期] = #3/17/1999#" '日期用#括起来
Tables("订单").Filter = "[折扣] = 0.1" '数值直接使用