Ayuda porfa

04/01/2011 - 13:40 por Javier | Informe spam
Hola grupo, tengouna base de datos que asigna un correlativo que se
compone del año y el numero 2010-001
al comenzar el nuevo año dejo de funcionar alguien me puede ayudar con
esto:

Private Sub Form_BeforeInsert(Cancel As Integer)
Dim miCorrelativo As Integer
Dim miAño As Integer
miAño = Year(Date)

miCorrelativo = CInt(Val(Right(DMax("Idpropuesta", "t_Propuestas",
"AñoPropuesta=" & miAño), 3)))

If miCorrelativo < 10 Then
Me.IdPropuesta = Year(Date) & "-" & "00" & miCorrelativo + 1
ElseIf miCorrelativo < 100 Then
Me.IdPropuesta = Year(Date) & "-" & "0" & miCorrelativo + 1
ElseIf Len(miCorrelativo) = 1 Then
Me.IdPropuesta = Year(Date) & "-" & miCorrelativo + 1
End If

End Sub
 

Leer las respuestas

#1 José Mª Fueyo
04/01/2011 - 17:38 | Informe spam
Hola de nuevo

De entrada, podrías usar la función format para formatear el valor
obtenido con "0" por la izquierda, en lugar de plantearte todo el
follón que tienes montado.
Usa en el evento ésta función


Public Function Valor() As String
Dim iCorrelativo As Integer
Dim ICuenta As Integer
ICuenta = DCount("Idpropuesta", "t_Propuestas", "ANO=" &
Year(Date))
If ICuenta = 0 Then
iCorrelativo=1
Else
iCorrelativo = CInt(Mid(DMax("ID", "Tabla2", "ANO=" &
Year(Date)), 6)) + 1
End If
Valor = CStr(Year(Date)) & "-" & Format(iCorrelativo, "0000")
End Function

Salu2,

José Mª Fueyo
-
[MS MVP Access]

Preguntas similares