Access - CONTADOR-AÑO ACCESS

 
Vista:

CONTADOR-AÑO ACCESS

Publicado por ROMANO (7 intervenciones) el 26/08/2008 15:50:39
Hola, Me gustaría poner un contador autonumerico a mi base de datos que reinicie a "1" cuando cambie de año del tipo "2008-000"
He encontrado en este foro (FECHA 08/11/2007) las siguientes líneas de código y he seguido los pasos explicados. El problema que tengo es que el contador se me queda siempre en "002" aunque cree nuevos registros. Dónde está el fallo??
Gracias y saludos.

Private Sub Form_Current()
If Me.RecordsetClone.RecordCount = 0 Then
Contador = "001" & "-" & Format(Date, "yyyy") & "-" & "CASA"
ElseIf Me.RecordsetClone.RecordCount > 0 And IsNull(Contador) Then
Contador = Format(Left(DMax("Contador", "Tabla1"), 3) + 1, "000") & "-" & Format(Date, "yyyy") & "-" & "CASA"
End If
End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:CONTADOR-AÑO ACCESS

Publicado por mi menda (1111 intervenciones) el 26/08/2008 17:39:44
Hola Romano:
Yo lo haría de la siguiene forma:
Crearía en la tabla un campo para almacenar el número consecutivo (numConsecutivo) Entero Largo-, y lo que tú llamas campo contador (Referencia)-Texto-.

Dim Anyo As Integer
Anyo = Year(Date)
numConsecutivo = Nz(DMax("numConsecutivo","MiTabla","Year(left(Referencia,4)) ="& Anyo))+1
Referencia = Format$(Anyo) & "-" & Format(numConsecutivo,"000")

Va de memoria, sí te da algún error, lo comentas

Un Saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CONTADOR-AÑO ACCESS

Publicado por ROMANO (7 intervenciones) el 26/08/2008 19:42:03
Gracias por la respuesta. El contador sigue sin moverse, se queda en 2008-001. El código lo estoy poniendo "Al activar registro".
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CONTADOR-AÑO ACCESS

Publicado por mi menda (1111 intervenciones) el 27/08/2008 00:41:26
Hola Romano:
Ahora lo he probado, sobraba el Year() en la condición de la función DMax

Dim Anyo As Integer
Anyo = Year(Date)
numConsecutivo = Nz(DMax("numConsecutivo", "TuTabla", "left(Referencia,4) =" & Anyo)) + 1
Referencia = Format$(Anyo) & "-" & Format(numConsecutivo, "000")

Un Saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:CONTADOR-AÑO ACCESS

Publicado por ROMANO (7 intervenciones) el 27/08/2008 10:21:43
Funciona perfectamente. El código hay que añadirlo en el apartado "antes de insertar" de las propiedades del formulario.
Muchas gracias nuevamente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar