Private Sub Form_Current()
On Error Resume Next
If Me.NewRecord Then
Me.txtauto = Nz(DMax("txtauto", "TCrearproducto"), 0) + 1
End If
End Sub
Private Sub Tipo_AfterUpdate()
Me.CodigoFin = Me.Tipo.Column(2)
'Declaramos las variables
Dim cabecera As String
Dim vNum As Long
Dim vCod As String
Dim vLargo As String
'Cogemos el valor del autonumérico
vNum = Nz(Me.txtauto.Value)
cabecera = Nz(Me.CodigoFin.Value)
'Sacamos la longitud del autonumérico
vLargo = Len(vNum)
'Determinamos cuántos ceros debemos añadir
Select Case vLargo
Case 1
vCod = cabecera & "00000" & vNum
Case 2
vCod = cabecera & "0000" & vNum
Case 3
vCod = cabecera & "000" & vNum
Case 4
vCod = cabecera & "00" & vNum
Case 5
vCod = cabecera & "0" & vNum
Case 6
vCod = cabecera & vNum
Case Else
MsgBox "No puede crearse el código porque la longitud sería incorrecta", vbExclamation, "NO POSIBLE"
Exit Sub
End Select
'Escribimos el código obtenido
Me.Codigo.Value = vCod
End Sub