Foxtable(狐表)用户栏目专家坐堂 → 求助


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

主题:求助

美女呀,离线,留言给我吧!
xiaohuli
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:461 积分:3442 威望:0 精华:0 注册:2014/2/8 11:13:00
求助  发帖心情 Post By:2015/6/25 12:31:00 [只看该作者]

  flt = "a编码 = '"& e.DataRow("a编码") & "' And "b编码 = '"& e.DataRow("b编码") & "' And "c编码 = '"& e.DataRow("c编码") & "'   And [_Identify] <> " & e.DataRow("_Identify")
                max = e.DataTable.Compute("Max(单据编码)",flt) '取得该列别的最大单据编号

 

flt好像写错了,请大家帮忙看看。哪里有错。


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


加好友 发短信
等级:狐神 帖子:4643 积分:33865 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2015/6/25 12:40:00 [只看该作者]

 flt = "a编码 = '" & e.DataRow("a编码") & "' And b编码 = '" & e.DataRow("b编码") & "' And c编码 = '" & e.DataRow("c编码") & "' And [_Identify] <> " & e.DataRow("_Identify")

试试

 回到顶部
美女呀,离线,留言给我吧!
xiaohuli
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:461 积分:3442 威望:0 精华:0 注册:2014/2/8 11:13:00
  发帖心情 Post By:2015/6/25 13:57:00 [只看该作者]

我想实现如下的编号,a编码,b编码,c编码,顺序码

编码是根据a编码+b编码+c编码+顺序码得到的,但顺序码是随a、b、c编码变动自动+1。(顺序码是三位,001开始)如何编写这个顺序码。

eg:a  b  c  顺序码

      1  0  01   001 

      1  0  01   002 

      1  0  02   001 

      2  0  01   001

 顺序码根据a,b,c编码变动自动加1 。


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/25 14:30:00 [只看该作者]

datacolchanged事件

 

Select Case e.DataCol.Name
    Case "第一列", "第二列", "第三列"
        Dim  max As String
        Dim  idx As  Integer
        max = e.DataTable.Compute("Max(第五列)"," 第一列 = '" & e.DataRow("第一列") & "' and 第二列 = '" & e.DataRow("第二列") & "' and 第三列 = '" & e.DataRow("第三列") & "' and [_Identify] <> " & e.DataRow("_Identify"))
        If  max > "" Then '如果存在最大编号
            idx = CInt(max.Substring(0,3)) + 1  '获得最大编号的后三位顺序号,并加1
            e.DataRow("第五列") = Format(idx,"000")
           
        Else
            e.DataRow("第五列") = "001"
        End  If
End Select


 回到顶部
美女呀,离线,留言给我吧!
xiaohuli
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:461 积分:3442 威望:0 精华:0 注册:2014/2/8 11:13:00
  发帖心情 Post By:2015/6/25 15:00:00 [只看该作者]

我想实现如下的编号,a编码,b编码,c编码,顺序码,编码

编码是根据a编码+b编码+c编码+顺序码得到的,现在编码都能得到,但是当a/b/c编码变动的时候,编码还是

第一次得到的那个编码,编码不变,我是想实现,如果a/b/c编码变动的话,编码也能变动。代码如下,请大神帮我看看。

  Case "a编码","b编码","c编码","顺序号"
        Dim dr  As  DataRow = e.DataRow
        Dim pr  As  DataRow
        If   dr.IsNull("a编码") OrElse dr.IsNull("b编码") OrElse dr.IsNull("c编码")  OrElse dr.IsNull("顺序号")   Then
            dr("编码") =  Nothing
        Else
            
        
            e.DataRow("编码")=  e.DataRow("a编码") &  e.DataRow("b编码") &  e.DataRow("c编码") &  e.DataRow("顺序号")
        End If


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/6/25 15:11:00 [只看该作者]

 

Select Case e.DataCol.Name
    Case "第一列", "第二列", "第三列"
        Dim  max As String
        Dim  idx As  Integer
        max = e.DataTable.Compute("Max(第五列)"," 第一列 = '" & e.DataRow("第一列") & "' and 第二列 = '" & e.DataRow("第二列") & "' and 第三列 = '" & e.DataRow("第三列") & "' and [_Identify] <> " & e.DataRow("_Identify"))
        If  max > "" Then '如果存在最大编号
            idx = CInt(max.Substring(0,3)) + 1  '获得最大编号的后三位顺序号,并加1
            e.DataRow("第五列") = Format(idx,"000")
           
        Else
            e.DataRow("第五列") = "001"
        End  If

        e.DataRow("第七列")=  e.DataRow("第一列") &  e.DataRow("第二列") &  e.DataRow("第三列") &  e.DataRow("第五列")
End Select


 回到顶部