Como insertar un registro incrementado en 1
Publicado por David Lopez (2 intervenciones) el 21/02/2008 21:43:42
Buenas noches. Estoy aqui atascado con una sentencia en Access y en SQL. Os cuento: Es la tipica aplicación de facturación. Antes tenia el número de factura autonumérico, pero la clienta lo quiere manual, ya que el año ya esta empezado (lógico). La rutina en cuestión introducía automaticamente la cabecera de las facturas de las liquidaciones:
INSERT INTO factura_emitida ( fecha, tipo_cliente, id, iva, forma_pago, pagada )
SELECT date() AS fecha, "Socio" AS tipo_cliente, sf.num_socio AS id, i.iva, "Liquidacion " & date() AS forma_pago, yes AS pagada
FROM [RUTINA LIQS Socios a los que crear facturas] AS sf, [RUTINA LIQS Tipos de IVA de facturas a crear] AS i
WHERE sf.num_socio=i.num_socio;
Nota: La clave de factura_emitida es num_factura, q repito, era autonumerico, por lo que no habia problema alguno.
Simplemente me gustaria saber como hacer algo similar a lo siguiente:
INSERT INTO factura_emitida ( num_factura, fecha, tipo_cliente, id, iva, forma_pago, pagada )
SELECT max(f.num_factura) INCREMENTANDOSE EN UNO EN CADA LINEA, date() AS fecha, "Socio" AS tipo_cliente, sf.num_socio AS id, i.iva, "Liquidacion " & date() AS forma_pago, yes AS pagada
FROM [RUTINA LIQS Socios a los que crear facturas] AS sf, [RUTINA LIQS Tipos de IVA de facturas a crear] AS i, factura_emitida as f
WHERE sf.num_socio=i.num_socio;
No se si me he explicado bien. A ver si me ayudais.
Gracias.
INSERT INTO factura_emitida ( fecha, tipo_cliente, id, iva, forma_pago, pagada )
SELECT date() AS fecha, "Socio" AS tipo_cliente, sf.num_socio AS id, i.iva, "Liquidacion " & date() AS forma_pago, yes AS pagada
FROM [RUTINA LIQS Socios a los que crear facturas] AS sf, [RUTINA LIQS Tipos de IVA de facturas a crear] AS i
WHERE sf.num_socio=i.num_socio;
Nota: La clave de factura_emitida es num_factura, q repito, era autonumerico, por lo que no habia problema alguno.
Simplemente me gustaria saber como hacer algo similar a lo siguiente:
INSERT INTO factura_emitida ( num_factura, fecha, tipo_cliente, id, iva, forma_pago, pagada )
SELECT max(f.num_factura) INCREMENTANDOSE EN UNO EN CADA LINEA, date() AS fecha, "Socio" AS tipo_cliente, sf.num_socio AS id, i.iva, "Liquidacion " & date() AS forma_pago, yes AS pagada
FROM [RUTINA LIQS Socios a los que crear facturas] AS sf, [RUTINA LIQS Tipos de IVA de facturas a crear] AS i, factura_emitida as f
WHERE sf.num_socio=i.num_socio;
No se si me he explicado bien. A ver si me ayudais.
Gracias.
Valora esta pregunta


0