我用如下代码运用TrueDBGrid的Filter属性时出错:
Private Sub TDBGrid1_FilterChange()
On Error GoTo errHandlerSet cols = TDBGrid1.Columns
Dim c As Integer
c = TDBGrid1.col
TDBGrid1.HoldFields
KSS = getFilter()
Adodc1.Recordset.Filter = KSS
TDBGrid1.col = c
TDBGrid1.EditActive = TrueerrHandler:
MsgBox Err.Source & ":" & vbCrLf & Err.Description
For Each col In TDBGrid1.Columns
col.FilterText = ""
Next col
End SubPrivate Function getFilter() As String
Dim tmp As String
Dim n As Integer
For Each col In cols
If Trim(col.FilterText) <> "" Then
n = n + 1
If n > 1 Then
tmp = tmp & " AND "
End If
tmp = tmp & col.DataField & " LIKE '" & col.FilterText & "%'"
End If
Next col
getFilter = tmp
End Function
对于有些字段它会抛出一个异常:Provider:过滤器不能被打开。请问是怎么回事?
Private Sub TDBGrid1_FilterChange()
On Error GoTo errHandlerSet cols = TDBGrid1.Columns
Dim c As Integer
c = TDBGrid1.col
TDBGrid1.HoldFields
KSS = getFilter()
Adodc1.Recordset.Filter = KSS
TDBGrid1.col = c
TDBGrid1.EditActive = TrueerrHandler:
MsgBox Err.Source & ":" & vbCrLf & Err.Description
For Each col In TDBGrid1.Columns
col.FilterText = ""
Next col
End SubPrivate Function getFilter() As String
Dim tmp As String
Dim n As Integer
For Each col In cols
If Trim(col.FilterText) <> "" Then
n = n + 1
If n > 1 Then
tmp = tmp & " AND "
End If
tmp = tmp & col.DataField & " LIKE '" & col.FilterText & "%'"
End If
Next col
getFilter = tmp
End Function
对于有些字段它会抛出一个异常:Provider:过滤器不能被打开。请问是怎么回事?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货