Foxtable(狐表)用户栏目专家坐堂 → [发料单号] = 'ZZIL' 不是有效的 Sort 字符串项


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

主题:[发料单号] = 'ZZIL' 不是有效的 Sort 字符串项

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


加好友 发短信
等级:七尾狐 帖子:1536 积分:9956 威望:0 精华:0 注册:2014/12/18 16:12:00
[发料单号] = 'ZZIL' 不是有效的 Sort 字符串项  发帖心情 Post By:2022/3/15 8:03:00 [只看该作者]

If user.name = "开发者" OrElse user.group = "组装"
'接头预发料汇总
    If CurrentTable.name = "接头预发料" Then

        Dim tbl As Table = Tables("接头预发料")
        Dim cnt As Integer = tbl.DataTable.GetValues("物料编号","出入库单号 is null",Tables("接头预发料").filter).count 
        If cnt > 1 
            messagebox.show("本页面存在 " & cnt & " 个出入库单号为空的物料号, 请筛选掉这些物料后再使用此按钮!")
        Else
            Dim g As New GroupTableBuilder("预发料导出汇总", DataTables("接头预发料"))
            g.Groups.Clear()
            g.Filter = Tables("接头预发料").Filter
            g.Caption = "预发料导出汇总"
            g.Groups.AddDef("出入库单号")
            g.Groups.AddDef("物料编号")
            g.Totals.AddDef("发料数量")
            g.Decimals = 0
            g.Build()
            MainTable = Tables("预发料导出汇总")

        End If
    End If
End If

上述代码是一个按钮里面的代码。在执行时出现如下提示:[发料单号] = 'ZZIL-2203121454-0304' 不是有效的 Sort 字符串项。”发料单号“虽然是”接头预发料“这个表的一个列,但是上述代码并没有使用到这个列,为什么会出现这个提示呢?

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


加好友 发短信
等级:七尾狐 帖子:1536 积分:9956 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2022/3/15 8:06:00 [只看该作者]

还出现如下提示:[出入库单号] Is Not Null 不是有效的 Sort 字符串项。

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


加好友 发短信
等级:超级版主 帖子:109505 积分:557193 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/3/15 8:51:00 [只看该作者]

先看看帮助呗:http://www.foxtable.com/webhelp/topics/2747.htm

语法:

GetValues(ColumnName,Filter,Sort)

ColumnName:列名称,从此列中提取不重复的值。
Filter:     可选参数,指定一个条件表达式,只返回符合此条件的值;请参考表达式的运算符和函数 和 条件表达式
Sort:       可选参数,指定排序列,如果省略,则根据取值列排序,通常无需设置。


第三个参数是排序用的,如果要合并2个条件应该这样

tbl.DataTable.GetValues("物料编号","出入库单号 is null and " & Tables("接头预发料").filter)


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


加好友 发短信
等级:七尾狐 帖子:1536 积分:9956 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2022/3/15 9:06:00 [只看该作者]

    If CurrentTable.name = "接头预发料" Then
        Dim tbl As Table = Tables("接头预发料")
        Dim cnt As Integer = tbl.DataTable.GetValues("物料编号","出入库单号 is null And " & Tables("接头预发料").filter).count 
        If cnt > 1 
            messagebox.show("本页面存在 " & cnt & " 个出入库单号为空的物料号, 请筛选掉这些物料后再使用此按钮!")
        Else

            Dim g As New GroupTableBuilder("预发料导出汇总", DataTables("接头预发料"))
            g.Groups.Clear()
            g.Filter = Tables("接头预发料").Filter
            g.Caption = "预发料导出汇总"
            g.Groups.AddDef("出入库单号")
            g.Groups.AddDef("物料编号")
            g.Totals.AddDef("发料数量")
            g.Decimals = 0
            g.Build()
            MainTable = Tables("预发料导出汇总")

        End If
    End If

代码改好了。但是在有空的”出入库单号“时,下面的提示不会出现:
        If cnt > 1 
            messagebox.show("本页面存在 " & cnt & " 个出入库单号为空的物料号, 请筛选掉这些物料后再使用此按钮!")
        Else

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


加好友 发短信
等级:七尾狐 帖子:1536 积分:9956 威望:0 精华:0 注册:2014/12/18 16:12:00
  发帖心情 Post By:2022/3/15 9:08:00 [只看该作者]

没事了。知道原因了。

 回到顶部