以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  奇了怪了  (http://www.foxtable.com/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表不行,内部表也会不行。

搞不定就做个例子发上来给我们测试看看。