以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  筛选提示错误  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=78318)

--  作者:kaituozhe
--  发布时间:2015/12/7 10:51:00
--  筛选提示错误

执行以下代码,为什么会有这样的提示

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2015.11.11.1
错误所在事件:加载[银行数据]失败!
详细错误信息:
语法错误 (操作符丢失) 在查询表达式 \'precent *\' 中。

Dim Filter As String
With e.Form.Controls("TextBox2")
    If .Value IsNot Nothing Then
        Filter = "交易账号 = \'" & .Value & "\'" \'Or "交易卡号 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("TextBox3")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "交易户名 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("TextBox4")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "对方账号 = \'" & .Value & "\'"
    End If
End With
With e.Form.Controls("TextBox5")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "对方户名 = \'" & .Value & "\'"
    End If
End With

If Filter > "" Then
    Tables("银行数据").DataTable.loadtop = "100 Percent"
    Tables("银行数据").DataTable.loadFilter = Filter
    Tables("银行数据").DataTable.load()
    Forms("银行数据").Controls("TextBox7").Text = DataTables("银行数据").sqlCompute("sum(借方金额)",filter)
    Forms("银行数据").Controls("TextBox8").Text = DataTables("银行数据").sqlCompute("sum(贷方金额)",filter)
End If


--  作者:大红袍
--  发布时间:2015/12/7 11:01:00
--  

Filter = "交易账号 = \'" & .Value & "\'" \'Or "交易卡号 = \'" & .Value & "\'"

 

改成

 

Filter = "(交易账号 = \'" & .Value & "\' Or 交易卡号 = \'" & .Value & "\')"


--  作者:kaituozhe
--  发布时间:2015/12/7 11:12:00
--  

当没有符合条件的数据时会提示如下,上述代码该怎么修改

.NET Framework 版本:2.0.50727.5485
Foxtable 版本:2015.11.11.1
错误所在事件:窗口,银行数据,Button2,Click
详细错误信息:
从字符串“”到类型“Double”的转换无效。
输入字符串的格式不正确。


--  作者:大红袍
--  发布时间:2015/12/7 11:14:00
--  
报错和1楼的代码无关。自己加入msgbox定位一下错误。
--  作者:kaituozhe
--  发布时间:2015/12/7 11:38:00
--  

错误原因在代码里加了以下代码,导致筛选为空提示3楼错误,该怎么修改

Forms("银行数据").Controls("TextBox9").Text =Forms("银行数据").Controls("TextBox7").Text -Forms("银行数据").Controls("TextBox8").Text

把代码修改为

\'If Forms("银行数据").Controls("TextBox8").Text Is Nothing AndAlso Forms("银行数据").Controls("TextBox7").Text Is Nothing Then
        \'Forms("银行数据").Controls("TextBox9").Text = Nothing
    \'ElseIf Forms("银行数据").Controls("TextBox8").Text Is Nothing AndAlso Forms("银行数据").Controls("TextBox7").Text IsNot Nothing Then
        \'Forms("银行数据").Controls("TextBox9").Text =Forms("银行数据").Controls("TextBox7").Text
    \'ElseIf Forms("银行数据").Controls("TextBox7").Text Is Nothing AndAlso Forms("银行数据").Controls("TextBox8").Text IsNot Nothing Then
        \'Forms("银行数据").Controls("TextBox9").Text =-Forms("银行数据").Controls("TextBox8").Text
    \'Else
        \'Forms("银行数据").Controls("TextBox9").Text =Forms("银行数据").Controls("TextBox7").Text -Forms("银行数据").Controls("TextBox8").Text
    \'End If
还是出现一样的错误


--  作者:大红袍
--  发布时间:2015/12/7 11:42:00
--  
Forms("银行数据").Controls("TextBox9").Text = val(Forms("银行数据").Controls("TextBox7").Text) - val(Forms("银行数据").Controls("TextBox8").Text)