在sql数据库里有一个表,其中列“序号”列是标识列,每增加一条记录就自动加一,还有一列是“生产日期”,我想“编号”默认为生产日期+序号。例如,序号为1,生产日期为2009-1-1,编号就默认为20090101。序号为1000,生产日期为2010-01-01,编号就默认为201001011000,请问在“编号”列的默认值里怎样填写代码,谢谢指教,感激涕零。本人保证给分

解决方案 »

  1.   

    lz是指vb里?还是sql server里?
      

  2.   

    sql server里,请哪位老师指点一下
      

  3.   

    vb 里这样做
    Private Function s_fun_GetID() As String
        Dim strID As String
        Dim strF As String
        Dim resF As New ADODB.Recordset
        
        strID = qianzhui & Trim(Format(Date, "yymmdd"))    
        strF = ""
        strF = strF & " SELECT MAX(MID(MY_ID, 8, 2)) MAX_ID" & vbNewLine
        strF = strF & "   FROM MY_TABLE " & vbNewLine
        strF = strF & "  WHERE MID(MY_ID, 1, 7) = '" & strID & "' " & vbNewLine
            
        resF.Open strF, P_Connect
        
        If Val(resF.Fields("MAX_ID") & "") = 0 Then
            strID = strID & "01"
        Else
            strID = strID & Right("00" & (Val(resF.Fields("MAX_ID") & "") + 1), 2)
        End If
        
        resF.Close
        Set resF = Nothing
        
        s_fun_GetID = strID
        
    End Function
      

  4.   

    sql server应该怎么写,写在哪里
      

  5.   

    Private Function s_fun_GetID() As String
        Dim strID As String
        Dim strF As String
        Dim resF As New ADODB.Recordset
        
        strID = qianzhui & Trim(Format(Date, "yymmdd"))    
        strF = ""
        strF = strF & " SELECT MAX(MID(MY_ID, 8, 2)) MAX_ID" & vbNewLine
        strF = strF & "   FROM MY_TABLE " & vbNewLine
        strF = strF & "  WHERE MID(MY_ID, 1, 7) = '" & strID & "' " & vbNewLine
            
        resF.Open strF, P_Connect
        
        If Val(resF.Fields("MAX_ID") & "") = 0 Then
            strID = strID & "01"
        Else
            strID = strID & Right("00" & (Val(resF.Fields("MAX_ID") & "") + 1), 2)
        End If
        
        resF.Close
        Set resF = Nothing
        
        s_fun_GetID = strID
        
    End Function