Como hacer un código correlativo por tipo y año
Publicado por Rdobil (1 intervención) el 25/10/2021 19:55:38
Hola compañeros:
Deseo hacer un código correlativo por tipo de contrato y año. Es decir, que cada tipo de contrato tenga un numero al otro tipo de contrato y que a su vez, estén subdivididos por años.
Para los contratos de obras pondremos en el código OB, para los de servicios SE y para los de suministros SU.
El código resultante será de este tipo: OB/01/21 . Donde OB será el tipo de contrato, 01 el numero correspondiente al contrato de obras respectivo y 21 el año del contrato.
La tabla de las base de datos la llamaremos 'tabla' y tendremos cuatro campos en la base de datos. Por un lado, la fecha de entrada del contrato, con el campo fecha_entrada, Para el tipo de tengo un cuadro combinado con los tres tipos de contratos, el cual se guarda en campo tipo. Cada numero de contrato independiente lo guardo en el campo 'numero' y el año de de contrato en el campo 'año'. Para el código correlativo completo lo guardo en el campo 'expediente'. Las iniciales del codigo las meto en el campo 'codigo_bi'
Primero selecciono una fecha cualquiera del contrato y seguidamente, elijo el tipo de contrato. Cuando actualizo el cuadro combinado tipo se desencadena la acción de generar el código correlativo.
Para ello e introducido el siguiente codigo:
Private Sub tipo_AfterUpdate()
Dim c_año As String
Dim txtexpediente As String
If tipo = "Obras" Then
Me.tipo_bi = "OB"
ElseIf tipo = "Servicios" Then
Me.tipo_bi.= "SE"
Else
Me.tipo_bi = "SU"
End If
c_año = Year(Me.fecha_entrada)
Me.año.Value = Right(CStr(c_año), 2)
Me.numero = Nz(DLast("numero", "tabla_bi", "right(expediente,2)=" & c_año & "and mid(expediente,1,2)" = [tipo_bi]), 0) + 1
If [numero] < 10 Then
Me.expediente = [tipo_bi] & "/" & "0" & [numero] & "/" & [año]
Else
Me.expediente = [tipo_bi] & "/" & [numero] & "/" & [año]
End If
End Sub
Muchas gracias por vuestra colaboracion
Deseo hacer un código correlativo por tipo de contrato y año. Es decir, que cada tipo de contrato tenga un numero al otro tipo de contrato y que a su vez, estén subdivididos por años.
Para los contratos de obras pondremos en el código OB, para los de servicios SE y para los de suministros SU.
El código resultante será de este tipo: OB/01/21 . Donde OB será el tipo de contrato, 01 el numero correspondiente al contrato de obras respectivo y 21 el año del contrato.
La tabla de las base de datos la llamaremos 'tabla' y tendremos cuatro campos en la base de datos. Por un lado, la fecha de entrada del contrato, con el campo fecha_entrada, Para el tipo de tengo un cuadro combinado con los tres tipos de contratos, el cual se guarda en campo tipo. Cada numero de contrato independiente lo guardo en el campo 'numero' y el año de de contrato en el campo 'año'. Para el código correlativo completo lo guardo en el campo 'expediente'. Las iniciales del codigo las meto en el campo 'codigo_bi'
Primero selecciono una fecha cualquiera del contrato y seguidamente, elijo el tipo de contrato. Cuando actualizo el cuadro combinado tipo se desencadena la acción de generar el código correlativo.
Para ello e introducido el siguiente codigo:
Private Sub tipo_AfterUpdate()
Dim c_año As String
Dim txtexpediente As String
If tipo = "Obras" Then
Me.tipo_bi = "OB"
ElseIf tipo = "Servicios" Then
Me.tipo_bi.= "SE"
Else
Me.tipo_bi = "SU"
End If
c_año = Year(Me.fecha_entrada)
Me.año.Value = Right(CStr(c_año), 2)
Me.numero = Nz(DLast("numero", "tabla_bi", "right(expediente,2)=" & c_año & "and mid(expediente,1,2)" = [tipo_bi]), 0) + 1
If [numero] < 10 Then
Me.expediente = [tipo_bi] & "/" & "0" & [numero] & "/" & [año]
Else
Me.expediente = [tipo_bi] & "/" & [numero] & "/" & [año]
End If
End Sub
Muchas gracias por vuestra colaboracion
Valora esta pregunta


0