以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]自动生成顺序号? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=58439) |
-- 作者:rophy0952 -- 发布时间:2014/10/16 17:22:00 -- [求助]自动生成顺序号? 如图:实现当天该客户包装的顺序号,写了如下代码,但出来的不对。麻烦帮忙指导一下,谢谢! |
-- 作者:Bin -- 发布时间:2014/10/16 17:26:00 -- 条件要加入 Identify <> e.datarow(_Identif)y |
-- 作者:有点甜 -- 发布时间:2014/10/16 17:28:00 -- 什么不对,哪里不对? |
-- 作者:rophy0952 -- 发布时间:2014/10/16 17:29:00 -- 是这样吗?绿色那里这样表达对吗? If e.DataCol.name = "客户代号" Then Dim idx As String Dim max As String max = DataTables("送货明细表").Compute("max(顺序号)","客户代号 = \'" & e.DataRow("客户代号") & "\'and 送货日期 = \'" & e.DataRow("送货日期") & "\'and Identify <> e.datarow(_Identify)") If max >"" Then idx = cint(max.SubString(1,1)) + 1 Else idx = 1 End If e.DataRow("顺序号") = Format(idx,"000") End If |
-- 作者:有点甜 -- 发布时间:2014/10/16 17:29:00 -- idx = cint(max) + 1 |
-- 作者:rophy0952 -- 发布时间:2014/10/16 17:33:00 -- 出来的结果是这样的: |
-- 作者:有点甜 -- 发布时间:2014/10/16 17:38:00 -- 根据你的代码,你要填入客户代号和送货日期才会生成顺序号的啊。
请具体说明意图。 |
-- 作者:rophy0952 -- 发布时间:2014/10/16 17:45:00 -- 是在填入客户代号后生成顺序号啊,但是全都是0 |
-- 作者:有点甜 -- 发布时间:2014/10/16 17:46:00 -- If e.DataCol.name = "客户代号" Then Dim idx As String Dim max As String max = DataTables("送货明细表").Compute("max(顺序号)","客户代号 = \'" & e.DataRow("客户代号") & "\'and 送货日期 = \'" & e.DataRow("送货日期") & "\'and Identify <> e.datarow(_Identify)") If max >"" Then idx = cint(max) + 1 Else idx = 1 End If e.DataRow("顺序号") = Format(idx,"000") End If |
-- 作者:rophy0952 -- 发布时间:2014/10/16 17:59:00 -- 如果加上,and Identify <> e.datarow(_Identify) ,出现错误提示: .NET Framework 版本:2.0.50727.5485 Foxtable 版本:2014.9.22.1 错误所在事件:表,送货明细表,DataColChanged 详细错误信息: 调用的目标发生了异常。 表达式包含未定义的函数调用 e.datarow()。 如果不加上,and Identify <> e.datarow(_Identify) ,结果就全是“0” |