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

Preguntas similare

Leer las respuestas

#1 José Mª Fueyo
04/01/2011 - 16:54 | Informe spam
Hola
En concreto, ¿que es lo que te hace ahora?

Salu2
José Mª Fueyo
[MS MVP Access]
Respuesta Responder a este mensaje
#2 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]
Respuesta Responder a este mensaje
#3 Javier
04/01/2011 - 18:30 | Informe spam
On 4 ene, 12:54, José Mª Fueyo wrote:
Hola
En concreto, ¿que es lo que te hace ahora?

Salu2
José Mª Fueyo
[MS MVP Access]



queda en blanco y cuando voy a escribir salta el error 94 tiempo de
ejecucion uso no valido de null
Respuesta Responder a este mensaje
#4 Javier
04/01/2011 - 18:42 | Informe spam
On 4 ene, 13:38, José Mª Fueyo wrote:
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]



sabes que lo intente hacer pero yo no se bien como programar
te podria mandar el archivo y tu lo arreglas...?
Respuesta Responder a este mensaje
#5 José Mª Fueyo
04/01/2011 - 18:43 | Informe spam
Hola de nuevo.
Lógico. No hay ningún registro, al ser el primero del año. Tienes que
controlar eso.
Prueba con la función que te he puesto un poco más arriba.

Salu2
José Mª Fueyo
[MS MVP Access]
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida