Foxtable(狐表)用户栏目专家坐堂 → [求助]逻辑列


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

主题:[求助]逻辑列

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


加好友 发短信
等级:七尾狐 帖子:1710 积分:11410 威望:0 精华:0 注册:2015/6/22 8:11:00
[求助]逻辑列  发帖心情 Post By:2018/7/20 15:52:00 [只看该作者]

老师好,通过按钮把表中的逻辑列一次性全部勾选或退勾,两种功能用一个按钮。老师谢谢了。

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


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

static b As boolean = true

datatables("表A").replacefor("第一列", b)

b = not b


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


加好友 发短信
等级:七尾狐 帖子:1710 积分:11410 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2018/7/20 17:04:00 [只看该作者]

首先谢谢老师,老师,我想在地级市列的字段里获取不低有三个字符的开头的一个字母(哈尔滨 =HEB0001)
                                                                                                             北京市 =BJS0001





Select e.DataCol.Name
    Case "地级市"
        If e.DataRow.IsNull("地级市") Then
            e.DataRow("客户ID") = Nothing
        ElseIf e.DataRow.Isnull("客户ID") Then
            Dim lb As String = e.DataRow("地级市")
            Dim max As String = e.DataTable.Compute("Max(客户ID)","地级市 = '" & lb & "' And _Identify<> '" & e.DataRow("_Identify") & "'") '取得该类别的最大编号
            If max > "" Then
                e.DataRow("客户ID") = GetPy(lb, True).SubString(0, 1) & format(cint(max.SubString(1))+1, "000")
            Else
                e.DataRow("客户ID") = GetPy(lb, True).SubString(0, 1) & format(1, "000")
                If e.DataRow("客户ID").StartsWith(lb) = False '如果单据编号前缀不符
                End If
            End If
        End If
End Select

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


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

比如条件可以改成 len(客户id) >= 7 不就满足了?

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


加好友 发短信
等级:七尾狐 帖子:1710 积分:11410 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2018/7/20 17:35:00 [只看该作者]

老师谢谢你帮我修改一下。

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


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

这个意思?没看懂你的问题。

 

Dim max As String = e.DataTable.Compute("Max(客户ID)","len(客户id) >= 7 and 地级市 = '" & lb & "' And _Identify<> '" & e.DataRow("_Identify") & "'") '取得该类别的最大编号


 回到顶部
帅哥哟,离线,有人找我吗?
江南小镇
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1710 积分:11410 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2018/7/20 18:02:00 [只看该作者]


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

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


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

Select e.DataCol.Name
    Case "地级市"
        If e.DataRow.IsNull("地级市") Then
            e.DataRow("客户ID") = Nothing
        ElseIf e.DataRow.Isnull("客户ID") Then
            Dim lb As String = e.DataRow("地级市")
            Dim max As String = e.DataTable.Compute("Max(客户ID)","地级市 = '" & lb & "' And _Identify<> '" & e.DataRow("_Identify") & "'") '取得该类别的最大编号
            If max > "" Then
                e.DataRow("客户ID") = GetPy(lb, True) & format(cint(max.SubString(lb.length))+1, "000")
            Else
                e.DataRow("客户ID") = GetPy(lb, True) & format(1, "000")
                If e.DataRow("客户ID").StartsWith(lb) = False '如果单据编号前缀不符
                End If
            End If
        End If
End Select

 回到顶部