Foxtable(狐表)用户栏目专家坐堂 → 关于后台筛选,这段代码的问题究竟在哪里?


  共有2741人关注过本帖树形打印复制链接

主题:关于后台筛选,这段代码的问题究竟在哪里?

帅哥哟,离线,有人找我吗?
tuohai
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:124 积分:1325 威望:0 精华:0 注册:2016/11/16 14:21:00
关于后台筛选,这段代码的问题究竟在哪里?  发帖心情 Post By:2017/11/16 12:35:00 [只看该作者]

关于后台筛选,这段代码的问题究竟在哪里?

 Dim LoadFilter As String
With e.Form.Controls("开始日期")
    If .Value IsNot Nothing Then
        If LoadFilter >"" Then
            LoadFilter = LoadFilter & " And "
        End If 
        LoadFilter = LoadFilter & "录入日期 >= '" & .Value & "'"
    End If
End With
With e.Form.Controls("结束日期")
    If .Value IsNot Nothing Then
        If LoadFilter >"" Then
            LoadFilter = LoadFilter & " And "
        End If 
        LoadFilter = LoadFilter & "录入日期 <= '" & .Value & "'"
    End If
End With
If e.Form.Controls("标注").Checked = True ' 如果付款状态选择了"已付"
          If LoadFilter >"" Then
            LoadFilter = LoadFilter & " And "
        End If 
        LoadFilter = LoadFilter & "标注 = True"
End If
If e.Form.Controls("未标注").Checked = True ' 如果付款状态选择了"未付"
          If LoadFilter >"" Then
            LoadFilter = LoadFilter & " And "
        End If 
        LoadFilter = LoadFilter & "标注 = False Or 标注 Is Null"
End If
If LoadFilter > "" Then
    DataTables("服装资料表").Load()
End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/16 12:53:00 [只看该作者]

Dim LoadFilter As String
With e.Form.Controls("开始日期")
    If .Value IsNot Nothing Then
        If LoadFilter >"" Then
            LoadFilter = LoadFilter & " And "
        End If
        LoadFilter = LoadFilter & "录入日期 >= '" & .Value & "'"
    End If
End With
With e.Form.Controls("结束日期")
    If .Value IsNot Nothing Then
        If LoadFilter >"" Then
            LoadFilter = LoadFilter & " And "
        End If
        LoadFilter = LoadFilter & "录入日期 <= '" & .Value & "'"
    End If
End With
If e.Form.Controls("标注").Checked = True ' 如果付款状态选择了"已付"
    If LoadFilter >"" Then
        LoadFilter = LoadFilter & " And "
    End If
    LoadFilter = LoadFilter & "标注 = True"
End If
If e.Form.Controls("未标注").Checked = True ' 如果付款状态选择了"未付"
    If LoadFilter >"" Then
        LoadFilter = LoadFilter & " And "
    End If
    LoadFilter = LoadFilter & "(标注 = False Or 标注 Is Null)"
End If
If LoadFilter > "" Then
    DataTables("服装资料表").LoadFilter = LoadFilter
    DataTables("服装资料表").Load()
End If

 回到顶部
帅哥哟,离线,有人找我吗?
tuohai
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:124 积分:1325 威望:0 精华:0 注册:2016/11/16 14:21:00
  发帖心情 Post By:2017/11/16 14:17:00 [只看该作者]

谢谢大虾!!!

 回到顶部
帅哥哟,离线,有人找我吗?
tuohai
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:124 积分:1325 威望:0 精华:0 注册:2016/11/16 14:21:00
  发帖心情 Post By:2017/11/16 15:32:00 [只看该作者]

列名 'True' 无效。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/16 15:39:00 [只看该作者]

以下是引用tuohai在2017/11/16 15:32:00的发言:
列名 'True' 无效。

 

把 true 改成 1,把 false 改成 0

 

If e.Form.Controls("标注").Checked = True ' 如果付款状态选择了"已付"
    If LoadFilter >"" Then
        LoadFilter = LoadFilter & " And "
    End If
    LoadFilter = LoadFilter & "标注 = 1"
End If
If e.Form.Controls("未标注").Checked = True ' 如果付款状态选择了"未付"
    If LoadFilter >"" Then
        LoadFilter = LoadFilter & " And "
    End If
    LoadFilter = LoadFilter & "(标注 = 0 Or 标注 Is Null)"
End If


 回到顶部
帅哥哟,离线,有人找我吗?
tuohai
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:124 积分:1325 威望:0 精华:0 注册:2016/11/16 14:21:00
  发帖心情 Post By:2017/11/18 10:38:00 [只看该作者]

Dim loadFilter As String
With e.Form.Controls("输入货号")
    If .Value IsNot Nothing Then
        loadFilter =  loadFilter & "convert(服装资料_货号,'System.String')  like '%" & .text & "%'"
    End If
End With



以上代码报错    

.NET Framework 版本:2.0.50727.8669
Foxtable 版本:2017.8.19.1
错误所在事件:加载[订单明细表]失败!
详细错误信息:
类型 服装资料_货号 不是已定义的系统类型。
==========================================

以下代码怎么实行模糊筛选

With e.Form.Controls("选择门店")
    If .Value IsNot Nothing Then
        If loadFilter > "" Then
            loadFilter = loadFilter & " And "
        End If
        loadFilter = loadFilter & "门店 = '" & .Value & "'"
    End If
End With


 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:105938 积分:538759 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/11/18 10:45:00 [只看该作者]

loadFilter =  loadFilter & "cast(服装资料_货号 as nvarchar(50))  like '%" & .text & "%'"


loadFilter = loadFilter & "门店 like '%" & .Value & "%'"

 回到顶部
帅哥哟,离线,有人找我吗?
tuohai
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:124 积分:1325 威望:0 精华:0 注册:2016/11/16 14:21:00
  发帖心情 Post By:2017/11/20 10:41:00 [只看该作者]

If e.Form.Controls("rdo标注").Checked = True ' 如果付款状态选择了"已付"
    If loadFilter >"" Then
        loadFilter = loadFilter & " And "
    End If
    loadFilter = loadFilter & "标注 = 1"
End If
If e.Form.Controls("rdo未标注").Checked = True ' 如果付款状态选择了"未付"
    If loadFilter >"" Then
        loadFilter = loadFilter & " And "
    End If
    loadFilter = loadFilter & "标注 = 0 Or 标注 Is Null"
End If
If loadFilter > "" Then
======================================================
为什么我选选择标注(也就是标注列=1能正常完成筛选)但是我选择未标注时,他只是清空数据,所在的行还存在?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/20 11:52:00 [只看该作者]

loadFilter = loadFilter & "标注 = 0 Or 标注 Is Null"

 

改成

 

loadFilter = loadFilter & "(标注 = 0 Or 标注 Is Null)"


 回到顶部
帅哥哟,离线,有人找我吗?
tuohai
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:124 积分:1325 威望:0 精华:0 注册:2016/11/16 14:21:00
  发帖心情 Post By:2017/11/20 13:37:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20171120133342.png
图片点击可在新窗口打开查看

还是不行

 回到顶部
总数 11 1 2 下一页