Foxtable(狐表)用户栏目专家坐堂 → [求助] 关于再增加行之后不能自动生成代码的问题


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

主题:[求助] 关于再增加行之后不能自动生成代码的问题

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/11 10:25:00 [显示全部帖子]

e.DataRow("日期")=Date.Today()
e.DataRow("工程代码")= leibie
Dim d As Date = e.DataRow("日期")
Dim y As Integer = d.Year
Dim fd As Date = New Date(y,1,1)
Dim ld As Date = New Date(y,12,31)
Dim bh As String = Format(d,"yyyy")
bh = "GDUP-BJSD/YW-" & Format(leibie,"00")&"-" & bh &
Dim max As String
Dim idx As Integer
Dim flt As String
flt =  "工程代码 = '"& e.DataRow("工程代码") & "' And 制单日期 >= #" & fd & "# And 制单日期 <= #" & ld & "# And [_Identify] <> " & e.DataRow("_Identify")
max = e.DataTable.Compute("Max(编号)",flt)
If max > "" Then '如果存在最大编号
    idx = CInt(max.Substring(bh.length,4)) + 1 '获得最大编号的后三位顺序号,并加1
Else
    idx = 1 '否则顺序号等于1
End If
e.DataRow("编号") = bh & Format(idx,"0000")

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/11 20:45:00 [显示全部帖子]

照抄下面的代码,如果有问题,上传具体实例说明。

 
e.DataRow("日期")=Date.Today()
e.DataRow("工程代码")= leibie
Dim d As Date = e.DataRow("日期")
Dim y As Integer = d.Year
Dim fd As Date = New Date(y,1,1)
Dim ld As Date = New Date(y,12,31)
Dim bh As String = Format(d,"yyyy")
bh = "GDUP-BJSD/YW-" & Format(leibie,"00")&"-" & bh
Dim max As String
Dim idx As Integer
Dim flt As String
flt =  "工程代码 = '"& e.DataRow("工程代码") & "' And 制单日期 >= #" & fd & "# And 制单日期 <= #" & ld & "# And [_Identify] <> " & e.DataRow("_Identify")
max = e.DataTable.Compute("Max(编号)",flt)
If max > "" Then '如果存在最大编号
    idx = CInt(max.Substring(bh.length,4)) + 1 '获得最大编号的后三位顺序号,并加1
Else
    idx = 1 '否则顺序号等于1
End If
e.DataRow("编号") = bh & Format(idx,"0000")

[此贴子已经被作者于2017/10/11 20:45:10编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/10/12 22:40:00 [显示全部帖子]

e.DataRow("日期")=Date.Today()
e.DataRow("工程代码")= leibie
Dim d As Date = e.DataRow("日期")
Dim y As Integer = d.Year
Dim fd As Date = New Date(y,1,1)
Dim ld As Date = New Date(y,12,31)
Dim bh As String = Format(d,"yyyy")
bh = "GDUP-BJSD/YW-" & Format(leibie,"00")&"-" & bh
Dim max As String
Dim idx As Integer
Dim flt As String
flt =  "工程代码 = '"& e.DataRow("工程代码") & "' And 日期 >= #" & fd & "# And 日期 <= #" & ld & "# And [_Identify] <> " & e.DataRow("_Identify")
max = e.DataTable.Compute("Max(编号)",flt)
If max > "" Then '如果存在最大编号
    idx = CInt(max.Substring(bh.length,4)) + 1 '获得最大编号的后三位顺序号,并加1
Else
    idx = 1 '否则顺序号等于1
End If
e.DataRow("编号") = bh & Format(idx,"0000")
'-------------------------------------记录增加操作人的名称
e.DataRow("负责人") =user.name

 回到顶部