以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  抄作业都抄不好,新人求指点,单号自动生成的问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=126730)

--  作者:hitzfeld
--  发布时间:2018/10/27 16:01:00
--  抄作业都抄不好,新人求指点,单号自动生成的问题
我要设计一个采购单,要求在点击“新增”后,生成一条新的空白单,采购单号要自动生成,格式为XX+年+月+日+编号,编号要自动累加。想来这个应该是比较初级的问题,就没提问题,直接在论坛检索,看到了甜老师的一段代码,想着直接抄过来就可以了,谁知调试了一个早晨都调不好,无奈,只能来这里发帖求教了,望各位老师给予指点。
-------------------------------------------------------------------------------------
甜老师的代码是这样:
DataRowAdded事件


Dim d As Date = Date.Today
Dim bh As String = "MY" & Format(d,"yyyyMM") \'生成编号的前6位,4位年,2位月.
If e.DataRow("编号").StartsWith(bh) = False \'如果编号的前6位不符
    Dim max As String
    Dim idx As Integer
    max = e.DataTable.Compute("Max(编号)","编号 like \'" & bh & "%\' And [_Identify] <> " & e.DataRow("_Identify")) \'取得该月的最大编号
    If max > "" Then \'如果存在最大编号
        idx = CInt(max.Substring(8,4)) + 1 \'获得最大编号的后三位顺序号,并加1
    Else
        idx = 1 \'否则顺序号等于1
    End If
    e.DataRow("编号") = bh &  Format(idx,"0000")
End If
--------------------------------------------------------------------------------------
但是我实际运行报错:datarow不是controleventargs的成员

再检索这个错误,甜老师在另外一个帖子说把 e.DataRow 改成 Tables("表A").Current

但是我改了之后还是报错。
我错在哪里呢??

附件的图片是我改甜老师代码后的报错截图

图片点击可在新窗口打开查看此主题相关图片如下:cw.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2018/10/27 16:11:59编辑过]

--  作者:hitzfeld
--  发布时间:2018/10/27 16:03:00
--  
附件怎么没传上?
--  作者:有点蓝
--  发布时间:2018/10/27 16:21:00
--  
代码放到表格的DataRowAdded事件
--  作者:hitzfeld
--  发布时间:2018/10/27 16:35:00
--  
终于明白了!!!谢谢蓝老师!