Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Número Correlativo

Estas en el tema de Número Correlativo en el foro de Bases de Datos General en Foros del Web. Hola a todos, esta es mi inquietud! Necesito insertar en una bd access con código sql`, los datos de una factura, porque estoy haciendo un ...
  #1 (permalink)  
Antiguo 28/03/2006, 20:28
 
Fecha de Ingreso: febrero-2006
Mensajes: 42
Antigüedad: 18 años, 2 meses
Puntos: 0
Número Correlativo

Hola a todos, esta es mi inquietud!

Necesito insertar en una bd access con código sql`, los datos de una factura, porque estoy haciendo un sistema de facturación en visual basic. Al campo Num. de Factura lo coloque autonumérico. Y utilizo este código para insertar en la tabla:

Set BD1 = OpenDatabase("C:\SIFAPE\SIFAPE1.mdb")
SQL1 = "insert into Factura_Encabezado(NUMERO_FACTURA,FECHA,CEDULA_CLI ENTE,NOMBRE_CLIENTE,DIRECCION_CLIENTE,TELEFONO_CLI ENTE,ESTADO) values (" & cod & ",'" & Lb_Fecha2.Caption & "',STR('" & Maskcedula.Text & "'),'" & txtNombre.Text & "','" & txtDireccion.Text & "','" & Masktelefono.Text & "','" & Combo1.Text & "')"
BD1.Execute SQL1

Lo que sucede es que sólo guarda la primera vez que inserto en la bd, si luego vuelvo a ejecutar el programa, no me guarda nada. Creo que es porque el campo es Autonomurico, además es el campo clave y esta relacionado con otra tabla.
No se que debo hacer si crear un correlativo por codigo sql o que?

Muchas gracias de antemano.
__________________
Somos lo que nos proponemos...Cuenta con la ayuda de un ser supremo para lograrlo.
  #2 (permalink)  
Antiguo 29/03/2006, 18:05
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Pues con solo el código que pusiste no entiendo por que solo corre la primera vez, seguramete tienes un condicional que evita la ejecución de dicho código.

Quizá con un poco más de información podría ayudarte más. El insert parece estar bien, sino lo estuviera te marcaría error.

Saludos
  #3 (permalink)  
Antiguo 29/03/2006, 19:42
 
Fecha de Ingreso: febrero-2006
Mensajes: 42
Antigüedad: 18 años, 2 meses
Puntos: 0
Tienes algo parecido

Ok, esta es mi idea:

Lo que quiero hacer es insertar estos datos, nombre, telefono, dirección y el numero de factura. Que pasa? el numero de factura, lo cree como autonumérico, es decir, que cada vez que inserte ese número se`debería incrementar. Pero eso no sucede no sé porque. Tu tienes algún código que haga algo parecido. Todo esto debo hacerlo con lenguaje SQl, en una base Acces y usando visual basic 6.

Tu ayuda sería muy gratificante.
__________________
Somos lo que nos proponemos...Cuenta con la ayuda de un ser supremo para lograrlo.
  #4 (permalink)  
Antiguo 29/03/2006, 19:47
 
Fecha de Ingreso: febrero-2006
Mensajes: 42
Antigüedad: 18 años, 2 meses
Puntos: 0
ah además si pod`´ias ayudarme con los grid, no se muy bien como manejar con ellos, quiero que me muestre una información en específico, pero sólo sé hacer que me muestre todo lo que esta en la base de datos
__________________
Somos lo que nos proponemos...Cuenta con la ayuda de un ser supremo para lograrlo.
  #5 (permalink)  
Antiguo 29/03/2006, 19:49
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
Cita:
el numero de factura, lo cree como autonumérico
Primero ... ¿el número de factura en la BD's no debería coincidir con el número de factura física?

bueno, dejando de lado eso, dices que NUMERO_FACTURA es autonumérico, entonces, no debería estar en el INSERT.

SQL1 = "insert into Factura_Encabezado(NUMERO_FACTURA,FECHA,CEDULA_CLI ENTE,NOMBRE_CLIENTE,DIRECCION_CLIENTE,TELEFONO_CLI ENTE,ESTADO) values (" & cod & ",'" & Lb_Fecha2.Caption & "',STR('" & Maskcedula.Text & "'),'" & txtNombre.Text & "','" & txtDireccion.Text & "','" & Masktelefono.Text & "','" & Combo1.Text & "')"

Dices que no lo hace ...., pero te debería de marcar error, ¿o que es lo que si hace?
  #6 (permalink)  
Antiguo 30/03/2006, 06:07
 
Fecha de Ingreso: febrero-2006
Mensajes: 42
Antigüedad: 18 años, 2 meses
Puntos: 0
Sonrisa

Disculpa, ya saqué del insert el numero de factura, ese codigo que coloque no fue el adecuado, es decir, el que tengo ahora, está sin el número de vactura y por ende sin el cod en los values.

Lo único que hace es, si la bd esta vacia, inserta el primer registro bien, con un número de factura 0, pero luego no inserta más nada, es decir, si salgo del programa y lo vuelvo a ejecutar y deseo hacer ese insert, ya no inserta más nada.

He usado algo como esto:

set bd= opendatabase(c:\basededatos.mdb)
sql="insert into factura_encabezado (Cedula_Cliente, Nombre_cliente, telefono_cliente) values ('"& text1.text &"', '"& text2.text &"', '"& text3.text &"')"
bd.execute SQL

Y yá.... Además me gustaria insertar esto en dos tablas al mismo tiempo, se puede?
Muchas gracias por tu atención!!! De verdad que la necesito
__________________
Somos lo que nos proponemos...Cuenta con la ayuda de un ser supremo para lograrlo.
  #7 (permalink)  
Antiguo 30/03/2006, 06:09
 
Fecha de Ingreso: febrero-2006
Mensajes: 42
Antigüedad: 18 años, 2 meses
Puntos: 0
si el numero de la factura que se genere en la base de datos, es el que va a quedar para la factura física, ya que luego se va a imprimir esa factura, para entregarla al cliente.
__________________
Somos lo que nos proponemos...Cuenta con la ayuda de un ser supremo para lograrlo.
  #8 (permalink)  
Antiguo 30/03/2006, 11:17
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 3 meses
Puntos: 146
No debes de generar tu el número de factura, más bien debes de pedírselo al usuario. Ninguna imprenta te entrega una serie de facturas empezando de la cero (como dices que tu sistema lo hace) y además pueden pasar muchas cosas, no se, que se te estropeen una serie de facturas que hagan que no coincida el consecutivo de tu sistema con el de la factura en papel.

Pero bueno, eso es otro tema.

No contestaste la última pregunta que te hice. ¿qué hace el programa?, dices que no hace nada, pero eso no me deja claro que es lo que SI hace: marca error, se salta ese código (tienes un condicional), etc.

Debuguea el programa linea a linea y verifica que el flujo del mismo entre al execute la segunda vez.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:35.