Generar un código con una fecha y un valor correlativo

Expertos, buenos días tengo la siguiente inquietud : Preciso generar un código único para asignarlo a una Orden de Compra, el código debe ser una fecha seguida de un numero correlativo, ejemplo

201711281,201711282,201711283, ... Donde : [2017][11][28], 1,2,3,4

Eso indicaría visualmente a la persona de compras que el día 28/11/20117, se van generando 3 ordenes de compra, el inconveniente lo tengo al cambiar el día, osea cuando la fecha del sistema sea 29/11/2017

El contador debe ser nuevamente 1,2,3 ...

¿Alguien me ayuda con esto?

1 respuesta

Respuesta
2

Todo depende de comos tengas construida la tabla o consulta origen del formulario. Supongamos que el formulario depende de la tabla Ventas

En el evento Al recibir el enfoque del cuadro de texto Orden de Compra puedes poner

If isnull([orden de compra]) then

[orden de compra]=year(date())&""&Month(Date())&""&day(Date())&""&(dcount("nz([idventa])","ventas","Idventa=" & me.idventa & ""))+1

End if

Pero como te decía todo depende de como sea la tabla o consulta origen del formulario. Si pudieras poner una imagen del diseño.

¡Gracias! Voy a revisar el código que envías, el formulario esta basado en una tabla cuyo campo NroOC, es el que debe guardar el valor que debe generarse ... muchísimas gracias !

Icue, Buenas tardes ! Mi tabla tiene un campo llamado [no compra], el formulario tiene un control llamado [txtNroOC]

He colocado un botón y al presionarlo quiero que coloque en el campo [txtNroOC] lo siguiente:

[AñoMesDia] y un correlativo el mismo que debe volver a "Uno" si cambio el día, por ejemplo

Imaginemos que el día 01-12-2017, se realizaron 5 ordenes de compra, los códigos de estas ordenes serian : 20171211,20171212,20171213,20171214,20171215

Pero si mañana se realizan 3 ventas, el código a generar debería ser : 20171221,20171222,20171223 - Básicamente la estructura del código de la OC es :

[2017] [12] [1] [1,2,3,4,5 ...] y al cambiar el día se reinician los correlativos, podrías ayudarme con esto no tengo idea de como controlar el cambio de días y cosas como esa... Gracias por tu ayuda

Como te decía todo depende de como tengas las estructuras de la tabla y el formulario. Se puede hacer de múltiples formas. Por ejemplo, supongamos que tengo una tabla

Te he puesto lo de fechacompra, aunque no sería necesario, pero para que puedas verlo. Tengo un formulario, en este caso basado en la tabla, pero podía ser independiente, lo mismo que da igual que sea formulario único o continuo, pero en este último se ve mejor. Si anoto una fecha, que se le puede poner en el evento Al recibir el enfoque, y que ya te dije que no sería necesaria

if isnull([fechacompra]) then

fechacompra=Date

end if

Como decía, al anotar una fecha y llegar el cursor a NoCompra, va poniendo en los registros

Como puedes ver va poniendo el NoCompra que decías y que al cambiar a día 3 vuelve a empezar en 1. El código es simplemente

Te lo he tenido que poner en dos imágenes ya que en una no me cabía.

¡Gracias! lo revisare pero desde ya veo que tiene la apariencia de lo que preciso !!!!! eres una ayuda vital para mi .... gracias y excelente fin de semana !!!!!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas