以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]导入数据之后,写的表事件不起作用。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=63020)

--  作者:youkacard
--  发布时间:2015/1/12 13:49:00
--  [求助]导入数据之后,写的表事件不起作用。
大神好,在客户编号那一列,我做了自动编号的事件,但是当导入
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:生产管理系统.rar

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:客户资料表.xls

表格数据的时候,自动编号不起作用,是了好几种事件了,都没效果,求助。


--  作者:youkacard
--  发布时间:2015/1/12 13:58:00
--  
求助啊 
--  作者:Bin
--  发布时间:2015/1/12 14:04:00
--  
测试没有问题啊.手动增加正常编号.  导入Excel表格也正常编号啊

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20150112140548.png
图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2015/1/12 14:09:00
--  

 或者那你在DataRowAdded事件加入代码

 

Dim bh As String="P"
Dim max As String
Dim idx As Integer
max = e.DataTable.Compute("Max(客户编号)","客户编号 like \'" & bh & "%\'")
If max > "" Then \'如果存在最大销售单号
    idx = CInt(max.Substring(bh.Length+1)) + 1 \'获得最大销售单号的后三位顺序号,并加1
Else
    idx = 1 \'否则顺序号等于1
End If
e.DataRow("客户编号") = bh & Format(idx,"00000")


--  作者:youkacard
--  发布时间:2015/1/12 14:17:00
--  
甜版,您试下应用窗口后导入,那个自动编号不起作用
--  作者:有点甜
--  发布时间:2015/1/12 14:18:00
--  
 看4楼
--  作者:youkacard
--  发布时间:2015/1/12 20:38:00
--  
谢谢甜版,不过有点没看懂您写的,我自己又研究了下,重新写了下事件,现在没问题了。您写的compute,那个客户编号为啥要匹配
--  作者:有点甜
--  发布时间:2015/1/12 20:53:00
--  
以下是引用youkacard在2015-1-12 20:38:00的发言:
谢谢甜版,不过有点没看懂您写的,我自己又研究了下,重新写了下事件,现在没问题了。您写的compute,那个客户编号为啥要匹配

 

呃,因为有可能编码有不同的前缀,所以匹配P*了,你也可以不匹配。直接Compute("max(客户编号)")