Foxtable(狐表)用户栏目专家坐堂 → [求助]求助关于自动编号和提取数据问题


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

主题:[求助]求助关于自动编号和提取数据问题

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


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

  代码写在项目事件MainTableChanged

 

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


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


加好友 发短信
等级:幼狐 帖子:112 积分:908 威望:0 精华:0 注册:2011/10/4 20:00:00
  发帖心情 Post By:2014/10/29 15:29:00 [只看该作者]

甜管,您说的这样我再试试,我再研究一下,还有就是
2、记账凭证中的编号格式为“XX2014001号”,每次在文号中选择完毕后自动生成以文号类型开头的编号,如“飞发2014001号”“四站2014001号”。
这个您再看看,我之前写到前面的。

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


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

 你参考这里,写到datacolchanged事件。

 

http://www.foxtable.com/help/topics/2403.htm

 


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


加好友 发短信
等级:幼狐 帖子:112 积分:908 威望:0 精华:0 注册:2011/10/4 20:00:00
  发帖心情 Post By:2014/10/29 15:52:00 [只看该作者]

我现在这个功能也能实现,就是有个前提就是数据表里必须得有一条这种类型,说白了,无论我选择哪种类型,我都不能直接加001号,只能是数据库里已经存在001号了,我才能正常按顺序往下添加

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


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

 贴出你的代码。

 

 23楼已经很详细了。


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


加好友 发短信
等级:幼狐 帖子:112 积分:908 威望:0 精华:0 注册:2011/10/4 20:00:00
  发帖心情 Post By:2014/10/29 15:57:00 [只看该作者]

If e.DataCol.name = "文号"
    If e.DataRow.isnull("文号") = False
        Dim dt As Integer = Date.today().year
        Dim dh As Integer = val(e.DataTable.Compute("max(第号)","文号 = '" & e.DataRow("文号") & "'").Replace("号","").Replace(e.DataRow("文号"),""))+1
        If dh = 1
            dh = val(dt & "001")
        End If
        e.DataRow("第号")= e.DataRow("文号") & dh & "号"
    Else
        e.DataRow("第号")= Nothing
    End If
End If





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


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

If e.DataCol.name = "文号"
    If e.DataRow.isnull("文号") = False
        Dim bh As String = e.DataRow("文号") & Date.today().year
        Dim max As String = e.DataTable.Compute("max(第号)","文号 = '" & e.DataRow("文号") & "' And id <> " & e.DataRow("id"))
        Dim idx As Integer = 0
        If max > "" Then
            idx = max.SubString(bh.length, 3)
        End If
        e.DataRow("第号")= bh & Format(idx+1, "000") & "号"
    Else
        e.DataRow("第号")= Nothing
    End If
End If

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


加好友 发短信
等级:幼狐 帖子:112 积分:908 威望:0 精华:0 注册:2011/10/4 20:00:00
  发帖心情 Post By:2014/10/29 16:31:00 [只看该作者]

OK,测试成功,真的很感谢甜管。
提取数据的我也调试成功了,这个我再研究一下,因为虽能达到效果,但还不是我最初设计的想法

 回到顶部
总数 28 上一页 1 2 3