有关TrueDBGrid的问题向各位大虾请教

来源:互联网 发布:算法导论第三版在线 编辑:程序博客网 时间:2024/05/03 20:30

我们在一个vb工程中用到TrueDBGrid Pro 8.0控件,在后期更改过程中我们想把它的Filter功能再添加上去(以前隐藏掉了),可当我们把它的FilterBar属性设为True之后,执行时抛出这样的异常:Provider过滤器不能被打开。Filter的函数如下:

Private Sub TDBGrid1_FilterChange()
On Error GoTo errHandler

Set cols = TDBGrid1.Columns
Dim c As Integer
c = TDBGrid1.col
TDBGrid1.HoldFields

Adodc1.Recordset.Filter = getFilter()
TDBGrid1.col = c
TDBGrid1.EditActive = True
Exit Sub

errHandler:
    MsgBox Err.Source & ":" & vbCrLf & Err.Description
    For Each col In TDBGrid1.Columns
        col.FilterText = ""
    Next col
End Sub

Private 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

Debug状态下在紫色字体那句时抛出异常,怀疑跟ADODB的什么设置有关,还请各位大虾不吝赐教!

原创粉丝点击