|
Public Function GetStockbookNo() As String
'自动按照用户自定义的规则获取库存帐编号,在frmStockIn和frmStockOut中被调用
'此函数得到的可用编号为3位数
Dim iNum As Integer
Dim StockDate As String
'将当天的日期以“yyyymmdd”的格式存为字符串
StockDate = CStr(Year(Date)) & CStr(Format(Month(Date), "00")) & CStr(Format(Day(Date), "00"))
'iNum存储计算出的可用编号
Dim rs As ADODB.Recordset
'按序号反向排序打开该分类帐帐户已有的日记帐,这样首记录就是编号最大的一个
OpenRS "SELECT * FROM 库存变动 ORDER BY '库存帐编号' DESC", rs
'---------------------------------------------
' 1 参见下面的OpenRS函数
' 2 “库存变动”表中有一个字段“库存帐编号”,文本型,格式为yyyymmdd-<三位流水号>
'--------------------------------------------
If rs.EOF Then
iNum = 1 '
'iNum取已有的编号最大值(就是首记录)加1
Else
If Left(CStr(rs("库存帐编号")), 8) = StockDate Then
iNum = CInt(Right(CStr(rs("库存帐编号")), 3)) + 1
Else
iNum = 1
End If
End If
GetStockbookNo = StockDate + "-" + CStr(Format(iNum, "000"))
End Function
Public Function OpenRS(strSql As String, rs As ADODB.Recordset)
'按strSql中的SQL语句打开一个ADO记录集。
'为记录集rs分配空间
Set rs = New ADODB.Recordset
'使用本数据库的连接打开记录集,使用键集游标和乐观锁定方式。
rs.Open strSql, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
End Function
Private Sub AddNewRecord
……
库存帐新记录编号=GetStockbookNo
……
End Sub
|
|