|
Public Function GetNextNo(strAccountNo As String) As String
'返回分类账账户strAccountNo的下一个可用编号
'此函数得到的可用编号为4位数
Dim iNum As Integer
'iNum存储计算出的可用编号
Dim rs As ADODB.Recordset
'按序号反向排序打开该分类账账户已有的日记账,这样首记录就是编号最大的一个
OpenRS "SELECT * FROM 日记账 WHERE 账户编号 ='" & strAccountNo & "' ORDER BY '日记账编号' DESC", rs
If rs.EOF Then GetNextNo = "0001": Exit Function '如果该分类账账户尚无业务,可用编号取首值0001
'iNum取已有的编号最大值(就是首记录)加1
'此的表达式从"abcd-wxyz"形式的日记账编号中取得编号"wxyz"转为整型以进行加1的算术操作
iNum = CInt(RightB(CStr(rs("日记账编号")), Len(rs("日记账编号")) - InStr(CStr(rs("日记账编号")), "-"))) + 1
GetNextNo = Format(iNum, "0000") '将整型数转换为四位格式的字符串,空位添0
End Function
运行时提示类型不匹配。 |
|