以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]逻辑列  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=122203)

--  作者:江南小镇
--  发布时间:2018/7/20 15:52:00
--  [求助]逻辑列
老师好,通过按钮把表中的逻辑列一次性全部勾选或退勾,两种功能用一个按钮。老师谢谢了。
--  作者:有点甜
--  发布时间:2018/7/20 16:15:00
--  

static b As boolean = true

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

b = not b


--  作者:江南小镇
--  发布时间: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

--  作者:有点甜
--  发布时间:2018/7/20 17:23:00
--  
比如条件可以改成 len(客户id) >= 7 不就满足了?
--  作者:江南小镇
--  发布时间:2018/7/20 17:35:00
--  
老师谢谢你帮我修改一下。
--  作者:有点甜
--  发布时间: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") & "\'") \'取得该类别的最大编号


--  作者:江南小镇
--  发布时间:2018/7/20 18:02:00
--  

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

--  作者:有点甜
--  发布时间: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