因为日期列值都是有时分秒的
If e.Node.Name = "显示所有行" Then
''' ' Tables(e.Form.Name & "_Table2").Filter = ""
''' ' With e.Form.Controls("Table1").Table.Filter = ""
e.Form.Controls("Table1").Table.Filter = ""
' End With
Else
Dim FilterCol() As String = e.Form.Controls("复选").Value.Split(",")
Dim TmpStr() As String = e.Node.FullPath.Split("\")
Dim FilterStr As String
Dim t As Table = e.Form.Controls("Table1").Table
For i As Integer = 0 To e.Node.Level
If t.Cols(FilterCol(i)).IsDate Then
Dim d As Date = cdate(TmpStr(i))
FilterStr = FilterStr & "[" & FilterCol(i) & "] >= '" & d & "' and [" & FilterCol(i) & "] < '" & d.AddDays(1) & "' And "
Else
FilterStr = FilterStr & "[" & FilterCol(i) & "] = '" & TmpStr(i) & "' And "
End If
Next
FilterStr = FilterStr.SubString(0,FilterStr.Length - 5)
''''Tables(e.Form.Name & "_Table2").Filter = FilterStr
t.Filter = FilterStr
End If