以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 奇了怪了 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=20741) |
-- 作者:yangrou -- 发布时间:2012/6/18 14:50:00 -- 奇了怪了 Dim max As
String = DataTables("订单表").Compute("Max(订单编号)","订单编号
Like \'" & Date.Today.Year & "*\'") If max > ""
Then max
= max.SubString(5,3) max = Date.Today.Year & "-"
& Format(cint(max) + 1,"000") Else max = Date.Today.Year & "-001" End If For Each dr As DataRow In DataTables("产品表").DataRows If dr("选择") = True Then dr("订单编号")
= max \'赋值给产品表订单编号dr Dim dr2 As DataRow = DataTables("订单表").AddNew() dr2("订单编号")
= max \'赋值给订单表 dr2("商品名称")
= dr("商品名称") End If Next 我根据上面的程序,写的下面的,内部表的时候编号根据已有的加1,可转外部sql后,就不能加1了,编号始终是0001
Dim max As String = DataTables("资金申请明细").Compute("Max(资金申请单编号)","资金申请单编号 Like \'" & Date.Today.Year & "*\'") If max
> "" Then max = max.SubString(6,4) max = "ZJ"
& Date.Today.Year & Format(cint(max) + 1,"0000") Else max ="ZJ"
& Date.Today.Year & "0001" End If For Each dr As DataRow In DataTables("计划明细").DataRows If dr("选择") = True Then dr("资金申请单编号")
= max \'赋值给产品表订单编号dr Dim dr2 As DataRow = DataTables("资金申请明细").AddNew() dr2("资金申请单编号")
= max \'赋值给订单表 dr2("唯一编号") = dr("唯一编号") dr2("所属计划") = dr("所属计划") dr2("序号") = dr("序号") dr2("原序号") = dr("原序号") dr2("商品名称") = dr("商品名称") dr2("规格型号") = dr("规格型号") dr2("单位") = dr("单位") dr2("数量") = dr("数量") End If Next
怎么回事啊 ??? |
-- 作者:yangrou -- 发布时间:2012/6/18 15:05:00 -- 我发现问题了,我把这两句的 “zj“去掉后,就好了 max = "ZJ" & Date.Today.Year & Format(cint(max) + 1,"0000") Else max ="ZJ" & Date.Today.Year & "0001" |
-- 作者:yangrou -- 发布时间:2012/6/18 15:39:00 -- 不去掉”zj”。把这句 Dim max As String = DataTables("资金申请明细").Compute("Max(资金申请单编号)","资金申请单编号 Like \'" & Date.Today.Year & "*\'")改成 Dim max As String = DataTables("资金申请明细").Compute("Max(资金申请单编号)","资金申请单编号 Like \'" & "zj" & Date.Today.Year & "*\'")也行 |
-- 作者:狐狸爸爸 -- 发布时间:2012/6/18 16:47:00 -- 这个和内部表还是sql表没有关系的,sql表不行,内部表也会不行。 搞不定就做个例子发上来给我们测试看看。 |