Problemas al generar numexpte automático dependiendo del año en curso.
Tengo este código de vb6 en un formulario para la introducción de artículos. El problema es que en un momento indeterminado deja de generar el número de expediente automático (e.j. 009/2017) y a partir de ese momento siempre que se intenta registrar un artículo nuevo dá el mismo número de expediente y no lo graba en la base de datos, y no hay forma de que asigne el siguiente al que ya existe en la base.
¿Podríais decirme como solucionarlo?.
Case "Guardar"
Dim vAutonum As Variant
Dim vUltimo As Variant
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim miSQL As String
Set db = OpenDatabase(App.Path & "\BD\Productos.mdb")
miSQL = "SELECT NUMEXPTE FROM ARTICULOS WHERE Right (NUMEXPTE,4)=" & Year(Me.DTPicker2.Value)
Set rst = db.OpenRecordset(miSQL)
If rst.RecordCount = 0 Then
vUltimo = 0
Else
rst.MoveLast
vUltimo = Left(rst("NUMEXPTE"), 3)
End If
rst.Close
Set rst = Nothing
Set rst = db.OpenRecordset("ARTICULOS")
vAutonum = vUltimo + 1
Me.EXPTE = Format(vAutonum, "000") & "/" & Year(Me.DTPicker2.Value)
rst.AddNew
rst("NUMEXPTE") = Me.EXPTE
rst("ORIGEN") = Me.Combo1
rst("DESTINO") = Me.Text1
rst("CANTIDAD") = Me.Text2
rst("PRECIO") = Me.Text3
rst("NOMBRE") = Me.Combo2
If Text4.Text = "" Or Null Then
rst("TIPO") = "0"
Else
rst("TIPO") = Me.Text4
End If
rst("FECHA") = Me.DTPicker2
rst.Update
Me.Text13 = rst("ID")
MsgBox "Registro Guardado"
rst.Close
Set rst = Nothing
db.Close
Set db = Nothing