以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  大红袍老师  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=74961)

--  作者:fytea
--  发布时间:2015/9/23 15:17:00
--  大红袍老师

之前你帮我做的

http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=73744

 

位数,不起作用,找了一些方法还是搞不定,只得你来了


--  作者:大红袍
--  发布时间:2015/9/23 16:14:00
--  
测试,没问题
--  作者:fytea
--  发布时间:2015/9/23 17:02:00
--  

每一个项目的列属性是不是也要设置好位数?

我这里怎么没有表达,我再看看,给个qq吧

 


--  作者:大红袍
--  发布时间:2015/9/23 17:03:00
--  
你设置成多少位,就截取多少位。
--  作者:fytea
--  发布时间:2015/9/23 17:41:00
--  

你看一下,截图

预览中没有补零


图片点击可在新窗口打开查看此主题相关图片如下:kkvq@1udjp}rmj~qxghy1.png
图片点击可在新窗口打开查看

--  作者:大红袍
--  发布时间:2015/9/23 18:06:00
--  

Dim str As String = ""
Select Case e.DataCol.Name
    Case "档号构成项目","位数","连接符"
        For Each dr As DataRow In e.DataTable.Select("表名 = \'" & e.DataRow("表名") & "\'")
            If dr.IsNull("档号构成项目") = False Then
                If dr.IsNull("位数") Then
                    str &= "isnull(Convert([" & dr("档号构成项目") & "],\'System.String\'),\'\')+"
                Else
                    Dim temp = "substring(isnull(Convert([" & dr("档号构成项目") & "],\'System.String\'),\'\'),1," & dr("位数") & ")"
                    str &= "substring(\'" & "".PadLeft(dr("位数"),"0") & "\', 1, " & dr("位数") & "-len(" & temp & ")) + " & temp
                    str &= "+"
                End If
               
                If dr.IsNull("连接符") = False Then
                    str &=  "\'" & dr("连接符") & "\'+"
                End If
               
            End If
        Next
        DataTables(e.DataRow("表名")).DataCols("文件级档号").Expression = str.trim("+")
        If Forms("窗口1").opened Then
            Forms("窗口1").Controls("TextBox1").Text = DataTables(e.DataRow("表名")).Compute("max(文件级档号)")
        End If
End Select


--  作者:fytea
--  发布时间:2015/9/23 18:57:00
--  
老大,项目重新打开,生成的号码荡然无存
--  作者:大红袍
--  发布时间:2015/9/23 19:12:00
--  

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:档案管理20150825.table


--  作者:fytea
--  发布时间:2015/9/24 14:06:00
--  

大红袍老师:一旦用于外部数据,就无法保存,重启后都是空的,不知道是什么原因,有没有好的解决办法,我用的是sql2008

我已想了N中办法,把你做的设成外部数据,结果和我一样


--  作者:大红袍
--  发布时间:2015/9/24 16:04:00
--  

内部外部,都是一样的。代码不变。

 

无法保存数据,看一下 http://www.foxtable.com/help/topics/1380.htm