1、你的代码用在什么事件中,这个事件有e.row这个参数吗?
2、即使用e.row这个参数,也不是这样用的,正常的筛选,必须通过列名。
你的代码的错误有些离谱,你学了很多,但是不踏实,是跑步前进,才会写出这样的代码,建议你从头细看帮助两遍,从使用指南开始看。
正常的代码,大概是:
Dim Filter As String
With e.Form.Controls("Start") '开始日期的控件
If .Value IsNot Nothing Then
Dim s As String = .value
Filter = "Substring(合同号1,4) >= '" & s.Substring(0,4) & "'"
End If
End With
With e.Form.Controls("End") '结束日期的控件'
If .Value IsNot Nothing Then
If Filter >"" Then
Filter = Filter & " And "
End If
Dim s As String = .value
Filter = Filter & "Substring(合同号1,4) <= '" & s.Substring(0,4) & "'"
End If
End With
Tables("XXX").Filter = Filter
[此贴子已经被作者于2012-1-18 11:24:47编辑过]