以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  关于自动编号  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=10750)

--  作者:annan
--  发布时间:2011/6/21 18:29:00
--  关于自动编号
有一个需求:当如果“凭证类别” 列为(收款),“凭证ID”则自动以SK0001方式编号,当“凭证类别” 列为(付款),“凭证ID”则自动以FK0001方式编号.
--  作者:mr725
--  发布时间:2011/6/21 18:42:00
--  

if currenttable.current("凭证类型") = "收款" then

     currenttable.current("凭证ID") = "SK" & "0001"

elseif currenttable.current("凭证类型") = "付款" then  

     currenttable.current("凭证ID") = "FK" & "0001"

end if


--  作者:annan
--  发布时间:2011/6/21 18:56:00
--  

你好!你的方法无法自动编号呀。


--  作者:hhbb
--  发布时间:2011/6/21 18:57:00
--  
If e.DataCol.Name = "凭证类别" Then
    Dim dr,dr1 As DataRow
    Dim n As Integer
    dr = e.DataRow
    If dr.IsNull("凭证类别") Then
        dr("凭证ID") = Nothing
    Else                   
        dr1 =e.DataTable.Find("[_Identify]< " & dr ("_Identify") & " And 凭证类别 = \'" & dr("凭证类别") & "\'","凭证ID Desc")      
        If dr1 IsNot Nothing Then
            n = CInt(dr1("凭证ID").substring(2))+1
        Else
            n=1
        End If
        dr("凭证ID")  =iif(dr("凭证类别") ="收款","SK","FK") & format(n,"0000")
    End If
End If
[此贴子已经被作者于2011-6-21 19:02:41编辑过]

--  作者:hzleqjf
--  发布时间:2011/6/22 16:49:00
--  

类似文档对于我们初学者真是太好了.非常感谢像"hhbb"一样的热心人.