先从数据库中查找有没有今天的记录 如果有 则将最大值加1 如果没有 则生成,例如:0309040001有一段代码 我用的,与你是一样的要求:Private Function newID() As String '生成新的 ID 号 On Error GoTo err1 '为新记录生成ID号 Dim rs As new ADODB.connection Dim SQL As String Dim formID As String Dim oldID As String
formID = Format(Date, "yyyymmdd")
SQL = "select max(id) as maxID from 报案登记 " & _ "where id like '" & formID & "%';" If rs.State <> 0 Then rs.Close End If
如果有
则将最大值加1
如果没有
则生成,例如:0309040001有一段代码
我用的,与你是一样的要求:Private Function newID() As String
'生成新的 ID 号
On Error GoTo err1
'为新记录生成ID号
Dim rs As new ADODB.connection
Dim SQL As String
Dim formID As String
Dim oldID As String
formID = Format(Date, "yyyymmdd")
SQL = "select max(id) as maxID from 报案登记 " & _
"where id like '" & formID & "%';" If rs.State <> 0 Then
rs.Close
End If
rs.Open SQL, Data.Con, adOpenStatic
'根据检查结果生成新的id号
oldID = rs.Fields("maxID") & ""
If Len(oldID) = 0 Then
newID = Format(Date, "yyyymmdd") & "00001"
Else
newID = CStr(CDbl(oldID + 1))
End If
rs.Close
Exit Function
err1:
MsgBox "生成新id号时错误!", , "newID:"
End Function注: Data.Con 数据源类; rs 数据集合对象
保存时先根据 表中 Max(iD)+1 From ID表 where 日期=保存的日期
获取后再更新ID表中ID+1
用来连接数据库
代码如下:
Option Explicit
'========================================================
' 设置数据源
' 在其它类中将它实例化后
' 先使用对象的openCon方法打开连接
' 使用对象的Con属性执行对数据库的操做
' 使用结束后,用对象的closeCon方法关闭连接
'========================================================
'声明数据连接对象
Public con As ADODB.Connection
'连接字符串
Private strCon As String
Private strIP As String
Private Sub Class_Initialize()
On Error GoTo err1
'实例化数据连接对象
Set con = New ADODB.Connection
'生成连接字符串
strCon = "provider = Microsoft.Jet.OLEDB.4.0;" & _
"data Source = " & app.path & "\test.mdb;" & _
"jet oledb:database password=7777777"
Exit Sub
err1:
End SubPrivate Sub Class_Terminate()
On Error GoTo err1
If con.State <> 0 Then
con.Close
End If
Set con = Nothing
Exit Sub
err1:
End SubPublic Sub openCon()
'打开数据连接
'On Error GoTo err1
If con.State = 0 Then
con.Open strCon
End If
Exit Sub
err1:
End SubPublic Sub closeCon()
'关闭数据连接
On Error GoTo err1
If con.State <> 0 Then
con.Close
strCon = ""
strIP = ""
End If
Exit Sub
err1:
End Sub
然后将这个数字和其他的字符串相连