以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]发布后的项目使用问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73812)

--  作者:扶风
--  发布时间:2015/8/27 11:26:00
--  [求助]发布后的项目使用问题
老师  我们发布的项目使用时(之前使用两天没有这样的情况)被判定有木马 然后就打不开该项目  请问这是什么情况
--  作者:大红袍
--  发布时间:2015/8/27 11:26:00
--  

你去杀毒软件那里,添加信任,把隔离的文件还原


--  作者:扶风
--  发布时间:2015/8/27 14:00:00
--  

已OK谢谢老师,能说下为什么会被查杀吗

还有一个新的问题:

Select e.DataCol.Name
     Case  "cpmc"
          If e.DataRow.IsNull("cpmc") Then
             e.DataRow("xuhao") = Nothing
         Else
             Dim lb As  String = e.DataRow("cpmc")
             If e.DataRow("xuhao").StartsWith(lb) = False  \'如果单据编号前缀不符
                Dim max  As  String
                 Dim idx  As  Integer
                max = e.DataTable.Compute("Max(xuhao)","cpmc = \'" & lb  & "\' And [_Identify] <> " & e.DataRow("_Identify")) \'取得该类别的最大编号
                If max > ""  Then  \'如果存在最大编号
                    idx = CInt(max.Substring(lb.Length)) + 1  \'获得最大编号的后三位顺序号,并加1
                 Else
                     idx = 1  \'否则顺序号等于1
                 End  If
                 e.DataRow("xuhao") = lb.Substring(5,2) & Format(idx,"000000")
         End  If
      End  If
 End  Select

如上代码是希望做到自动编号的,开始用的时候能用的,编到10个以后自动编号编出来的是第一个的序号,请问怎么修改


--  作者:大红袍
--  发布时间:2015/8/27 14:09:00
--  

Select e.DataCol.Name
    Case  "cpmc"
        If e.DataRow.IsNull("cpmc") Then
            e.DataRow("xuhao") = Nothing
        Else
            Dim lb As  String = e.DataRow("cpmc")
            Dim max  As  String
            Dim idx  As  Integer
            max = e.DataTable.Compute("Max(xuhao)","cpmc = \'" & lb  & "\' And [_Identify] <> " & e.DataRow("_Identify")) \'取得该类别的最大编号
            If max > ""  Then  \'如果存在最大编号
                idx = CInt(max.Substring(lb.Length)) + 1  \'获得最大编号的后三位顺序号,并加1
            Else
                idx = 1  \'否则顺序号等于1
            End  If
            e.DataRow("xuhao") = lb & Format(idx,"000000")
        End  If
    End  Select


--  作者:扶风
--  发布时间:2015/8/27 14:32:00
--  
以下是引用大红袍在2015/8/27 14:09:00的发言:

Select e.DataCol.Name
    Case  "cpmc"
        If e.DataRow.IsNull("cpmc") Then
            e.DataRow("xuhao") = Nothing
        Else
            Dim lb As  String = e.DataRow("cpmc")
            Dim max  As  String
            Dim idx  As  Integer
            max = e.DataTable.Compute("Max(xuhao)","cpmc = \'" & lb  & "\' And [_Identify] <> " & e.DataRow("_Identify")) \'取得该类别的最大编号
            If max > ""  Then  \'如果存在最大编号
                idx = CInt(max.Substring(lb.Length)) + 1  \'获得最大编号的后三位顺序号,并加1
            Else
                idx = 1  \'否则顺序号等于1
            End  If
            e.DataRow("xuhao") = lb & Format(idx,"000000")
        End  If
    End  Select

老师,我们的编号是有类别的编号。这样会不会无法突显类别?之前测试使用的时候是可以的,用了一两天就不行了。


--  作者:大红袍
--  发布时间:2015/8/27 14:43:00
--  

直接说你的逻辑,反正红色代码要一致

 

Select e.DataCol.Name
    Case  "cpmc"
        If e.DataRow.IsNull("cpmc") Then
            e.DataRow("xuhao") = Nothing
        Else
            Dim lb As  String = e.DataRow("cpmc")
            Dim max  As  String
            Dim idx  As  Integer
            max = e.DataTable.Compute("Max(xuhao)","cpmc = \'" & lb  & "\' And [_Identify] <> " & e.DataRow("_Identify")) \'取得该类别的最大编号
            If max > ""  Then  \'如果存在最大编号
                idx = CInt(max.Substring(2)) + 1  \'获得最大编号的后三位顺序号,并加1
            Else
                idx = 1  \'否则顺序号等于1
            End  If
            e.DataRow("xuhao") = lb.substring(5,2) & Format(idx,"000000")
        End  If
    End  Select

[此贴子已经被作者于2015/8/27 15:57:56编辑过]

--  作者:扶风
--  发布时间:2015/8/27 15:37:00
--  

我们取cpmc列的前两位区分编号类别,后面六位是序数。这段代码之前是参考帮助里的自动编号生成方法,有请您帮忙修改过。


--  作者:大红袍
--  发布时间:2015/8/27 15:46:00
--  
 如果不行,请做例子说明问题
--  作者:扶风
--  发布时间:2015/8/27 15:48:00
--  
好的
--  作者:扶风
--  发布时间:2015/8/28 15:17:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb

如上附件  其中该表是外部表