id            name    
0309040001    王 
0309040002    张
0309040003    哭

解决方案 »

  1.   

    先从数据库中查找有没有今天的记录
    如果有
    则将最大值加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 数据集合对象
      

  2.   

    用一张表维护ID 字段:ID,日期
    保存时先根据 表中 Max(iD)+1 From ID表 where 日期=保存的日期
    获取后再更新ID表中ID+1
      

  3.   

    其中Data是一个类的实例
    用来连接数据库
    代码如下:
    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
      

  4.   

    select count(*) from table where fdate=今天
    然后将这个数字和其他的字符串相连