Access2000

anabelmp
27 de Mayo del 2004
Hola! ¿Alguien sabe como puedo hacer para q cada mes me actualice un campo autonumerico? Es decir q cada dia 1 de mes me empiece de nuevo desde 1.

Gracias!!!!
Ana

Fredi
27 de Mayo del 2004
Por lo que yo se, lo que quieres es imposible, pero una buena solución seria simular un Campo Autonumerico, asi cuando iniciaras en siguiente mes, tu misma le pones el “uno” y vuelta a empezar.
Yo lo utilizo para un programa que me hize de facturación y va muy bien
Te paso el codigo.


Crea un Modulo he introduce este codigo:


Public Function MaximoValorTabla(Campo As String, Tabla As String) As String
On Error GoTo Error_Mc

If IsNull(DMax(Campo, Tabla)) Then
MaximoValorTabla = 1
Else
MaximoValorTabla = DMax(Campo, Tabla) + 1
End If
Salir_Error_MC:
Exit Function



Luego en el form, donde tienes el Campo que quieres que aumente un digito pones lo siguiente en el evento al recibir el enfoque del Campo Simulador de autonumerico:

Private Sub NUMEROFACTURA_GotFocus() ‘esta linea la pone el programa
On Error GoTo Err_NUMEROFACTURA_GotFocus
Dim ProximaFactura
ProximaFactura = MaximoValorTabla("NUMEROFACTURA", "FACTURACION_GENERADOR")
MsgBox "El próximo número de factura que corresponde es :" & ProximaFactura, vbInformation + vbYesNo, "Próximo número de Factura"
If IsNull(Me.NUMEROFACTURA) Then

Me.NUMEROFACTURA = ProximaFactura
End If
Exit_NUMEROFACTURA_GotFocus:
Exit Sub

Err_NUMEROFACTURA_GotFocus:
MsgBox Err.Description
Resume Exit_NUMEROFACTURA_GotFocus

End Sub


Donde: NUMEROFACTURA es el nombre del Campo simulado como Autonumerico
FACTURACION_GENERADOR es el Form donde esta el Campo simulado como Autonumerico.

Y en la tabla el Campo Autonumerico, tienes que ponerlo como numerico… eso es lo primero que tienes que hacer.


Si no te aclaras, y te sirve mi apaño, no dudes en escribirme a mi correo particular, porque aquí me meto poco y te ayudo.

Un saludo