以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 同表复制数据问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=43278) |
||||
-- 作者:seintfei -- 发布时间:2013/12/3 17:20:00 -- 同表复制数据问题 请教老师: 订单 和 订单明细 通过订单编号关联,如何实现复制订单和订单明细时,订单编号递增+1
|
||||
-- 作者:Bin -- 发布时间:2013/12/3 17:27:00 -- 不是很理解你的意思. 首先你编号是自动生成的吗? 是的话就不用管它. 如果是手动输入的,你是希望在复制行的时候编号+1吗? 那么你可以在复制完行的时候 或者克隆行完毕的时候 为这一行的编号+1即可, 这个应该很简单的啊,还是我没理解你的意图? 最好能上个例子,描述清楚你的问题.
|
||||
-- 作者:seintfei -- 发布时间:2013/12/3 17:39:00 --
是自动编号,克隆后报错
[此贴子已经被作者于2013-12-3 17:57:27编辑过]
|
||||
-- 作者:seintfei -- 发布时间:2013/12/3 18:24:00 -- 有没有老师指教下 |
||||
-- 作者:有点甜 -- 发布时间:2013/12/3 19:13:00 -- 简单改一下代码就行了 Select e.DataCol.Name Case "项目号" If e.DataRow.IsNull("项目号") Then e.DataRow("报价单编号") = Nothing Else Dim xmh As String = e.DataRow("项目号") If e.DataRow("报价单编号").StartsWith(xmh) = False \'如果单据报价单编号前缀不符 Dim max As String Dim idx As Integer max = e.DataTable.Compute("Max(报价单编号)","项目号 = \'" & xmh & "\' And [_Identify] <> " & e.DataRow("_Identify")) \'取得该项目号的最大报价单编号 If max > "" Then \'如果存在最大报价单编号 idx = right(max,1) + 1 \'获得最大报价单编号的后三位顺序号,并加1 Else idx = 1 \'否则顺序号等于1 End If e.DataRow("报价单编号") = "IQ" & xmh & "-" & Format(idx,"0") End If End If End Select |