Buscar valor de la ultima factura y sumarle 1

Tengo una BD que esta compartida en red con dos clientes (vendedores). Dentro de la BD tengo una tabla llamada VENTA, que tiene un campo llamado IDVENTA (autonumérico), FECHA, NROFACTURA, IMPRESO, entre otros. Por cada venta realizada necesito generar y guardar el nro de factura al pulsar sobre el botón IMPRIMIR en caso de realizarse la impresión de la factura. Cuando un vendedor realiza una venta necesito actualizar el valor de ese campo buscando el valor máximo del campo NROFACTURA y sumarle +1.

Respuesta
1

¿Numero de factura único o cada usuario una serie diferente?.

El acceso a los datos en tiempo real es algo muy importante para mantener una serie única, si cada uno lleva una serie diferente el trabajo en tiempo real tiene menos importancia, el control es mas sencillo para cualquier calculo de comisiones y demás prebendas.

Es una serie única de numeración de factura formato 00000001, 00000002, etc. Si el vendedor1 genera una factura 00000001 en una venta y el vendedor2 también realiza una venta su nro de factura debería ser 00000002

En una intranet no representa un problema, pero si los vendedores trabajan de forma externa (y vale para vendedores o para facturar trabajos/ventas a domicilio) tener una única serie puede generar conflictos de concurrencia.

Esta causistica se da con Access o cualquier otra base de datos, otra cosa es que al final de la jornada los vendedores 'inyecten' las ventas en la base, pero la asignación de un numero seria pura fantasía.

En estos casos lo mas idóneo es que exista una serie por cada vendedor (y así se cumpliría la regla) y posiblemente otra serie para las facturaciones a los clientes fijos a los que se facturaría de forma cíclica sea mensual semanal o diaria.

El numero tal como esta propuesto se puede 'construir' al momento de imprimirlo (la función FORMAT añadirá los ceros sin valor que sean necesarios), por lo que el numero será un numero y no un texto que se puede 'convertir' en numero para incrementarlo.

Lo importante es conocer el entorno real para aplicar el método mas adecuado (y evitar conflictos con la hacienda publica).

1 respuesta más de otro experto

Respuesta

Vaya forma de numerar y mas si es en red. El número de factura debe asignarlo al grabar la venta. Puede obtener la ultima factura con la función de dominio Nz(Dmax("NROFACTURA","VENTA")+1. Al estar en red se debe tener cuidado que otro usuario no tome el mismo número. No me parece apropiado tomar el número al imprimir.

Sobra decir que al estar en red la información se actualiza con ADO. Algo como:

Conexion.Execute "Insert into....."

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas