Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 05-07-2006
Ericklsca Ericklsca is offline
Registrado
 
Registrado: may 2006
Posts: 4
Poder: 0
Ericklsca Va por buen camino
Tres Preguntas, Espero Alguien Me Pueda Ayudar

Bueno tengo tres preguntas y espero que alguien me pueda ayudar con alguna de ellas.

La primera preguntas es; yo tengo una aplicación con un modulo de ventas y quiero que al momento de que abra el modulo me genere automaticamente un numero seriado de numero de venta, es decir que al momento de abrir el modulo me de el numero siguiente de folio de venta en el edit que tengo predestinado para ese numero. Tengo una idea pero no he podido lograrlo ya que pienso que debe de hacerce un Query a la base de datos para que me diga cual es el ultimo registro de venta y que le sume uno mas pero no he podido.

La segunda pregunta que tengo es que yo quiero que al momento de poner el codigo del articulo al vender me despligue los datos en un DBGrid, ya puedo hacer que al momento de poner el codigo haga la busqueda en la base de datos y me los despliegue en unos edit pero quiero hacer que los despliegue en el DBGrid y ademas me permita agregar otro articulo a la misma venta, es decir que pueda meter varios articulos en un mismo folio de venta.

Y la ultima question es que como puedo hacer para sumar el campo importe del DBGrid de los articulos que tenga la venta y que me los sume y los despliegue el total a pagar en un Edit.

Bueno espero que alguien me pueda ayudar la verdad apenas estoy aprendiendo el lenguaje y se lo agradecere mucho.

Última edición por dec fecha: 05-07-2006 a las 23:43:42.
Responder Con Cita
  #2  
Antiguo 05-07-2006
nemesio nemesio is offline
Miembro
 
Registrado: nov 2005
Ubicación: Isla de Margarita, Venezuela
Posts: 377
Poder: 19
nemesio Va por buen camino
Hola

Te responderé a lo siguiente:
1.-
Para llevar un correlativo de Número de facturas puedes tener una Tabla con un Campo "NUMFACT" en el cual vas a tener el último número de Factura. Cada vez que generes una nueva factura tomas el valor lo grabas en tu archivo de factura y luego incrementas "NUMFACT" para que tenga el valor de la próxima factura que vayas a realizar. Si el programa trabaja mobousuario no tendrás ningún problema. Si lo vas a trabajar en red, debes tener algunas consideraciones.

2.- Puedes hacer un formulario y colocar el DBgrid de que hablas con los registros de los productos. Coloca un Botón de ayuda en el Formulario de Facturación que llame a este formulario que tiene el Grid.

3.- Para obtener los totales puedes hacer un Query a la Tabla de Facturación utilizando la Función Sum. Lo asocias a un DataSource y luego a tu DBEdit. El Query lo puedes dejar en Active:=True o ejecutarlo cada vez que hagas un Post a la tabla de Facturación.
Responder Con Cita
  #3  
Antiguo 06-07-2006
Avatar de kuan-yiu
[kuan-yiu] kuan-yiu is offline
Miembro Premium
 
Registrado: jun 2006
Ubicación: Galicia. España.
Posts: 1.017
Poder: 19
kuan-yiu Va camino a la fama
Cita:
Empezado por Ericklsca
[...]
La primera preguntas es; yo tengo una aplicación con un modulo de ventas y quiero que al momento de que abra el modulo me genere automaticamente un numero seriado de numero de venta, es decir que al momento de abrir el modulo me de el numero siguiente de folio de venta en el edit que tengo predestinado para ese numero. Tengo una idea pero no he podido lograrlo ya que pienso que debe de hacerce un Query a la base de datos para que me diga cual es el ultimo registro de venta y que le sume uno mas pero no he podido.
[...]
Yo lo hago mediante procedimientos almacenado en la base de datos a los que llamo cuando necesito. Sino lo hago mediante una consulta a la tabla que contiene el dato.
Código SQL [-]
Select max(campo)+1 RESULT from tabla
Responder Con Cita
  #4  
Antiguo 06-07-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
2 - Lo que estas pidiendo es una relación Master-Detail, necesitarás 2 tablas, en una guardas el nº de la factura, los datos del cliente, etc. En la segunda tabla "LineasFact" es donde guardas los productos comprados y tambien guardas el nº de Factura para poder relacionarla con la otra Tabla. La interfaz ya te la han explicado.

3 -
Cita:
Empezado por nemesio
El Query lo puedes dejar en Active:=True o ejecutarlo cada vez que hagas un Post a la tabla de Facturación.
Tambien debes ejecutarlo en el AfterDelete y dependiendo de cómo esté hecho, puede que en el AfterCancel.

Si quieres información concreta, avisa de qué BBDD estas usando y componentes de acceso.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #5  
Antiguo 06-07-2006
santi33a santi33a is offline
Miembro
 
Registrado: jun 2005
Posts: 208
Poder: 19
santi33a Va por buen camino
Cita:
Empezado por nemesio
Hola

Te responderé a lo siguiente:
1.-
Para llevar un correlativo de Número de facturas puedes tener una Tabla con un Campo "NUMFACT" en el cual vas a tener el último número de Factura. Cada vez que generes una nueva factura tomas el valor lo grabas en tu archivo de factura y luego incrementas "NUMFACT" para que tenga el valor de la próxima factura que vayas a realizar. Si el programa trabaja mobousuario no tendrás ningún problema. Si lo vas a trabajar en red, debes tener algunas consideraciones.
En caso de multiusuario siempre he tenido una duda, despues de tener el numero de la factura y al intentar grabar me salta un error.
que pasa se me queda un hueco ?
En ese caso que me recomiendas
Responder Con Cita
  #6  
Antiguo 06-07-2006
mariofur mariofur is offline
No confirmado
 
Registrado: ene 2003
Posts: 31
Poder: 0
mariofur Va por buen camino
Respuestas

A la primera pregunta te diré como lo hago yo:

Como muy bien ha dicho alguien por ahí tienes que hacerlo en dos tablas, de manera que en una tienes los datos del cliente y en la otra tienes los datos de los articulos que entran dentro de esa venta, el número de factura debe existir en las dos tablas, de manera que en la tabla de articulos que metes en factura debes (debe ser la misma tabla para todos los articulos) introducir dicho número en cada línea que conforme la venta. Esto es porque después deberás hacer un filtrado por número de factura en la tabla de articulos de venta. "Filter, Filtered, etc..." en la ayuda de Delphi viene muy bien explicado. Esta es la manera que yo utilizo y con mucho éxito por cierto.

Nota: para introducir los datos de una tabla (Numero venta) a la tabla de articulos de la venta declaro variables tipo "Variant" y las inserto directamente con la función "FieldValues". (Realmente funciona).

Bueno, como aquí es muy largo de explicar si quieres me contactas y te mando el código fuente de mi programa y la explicación, puesto que será mejor que te lo aclare.

Saludos.
Responder Con Cita
  #7  
Antiguo 07-07-2006
nemesio nemesio is offline
Miembro
 
Registrado: nov 2005
Ubicación: Isla de Margarita, Venezuela
Posts: 377
Poder: 19
nemesio Va por buen camino
En caso de multiusuario, utiliza una excepcion si el nro está repetido y vuelve a incrementar el Id.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
por favor si me pueden ayudar con la solución a las siguientes preguntas Agustin Quevedo Providers 7 17-10-2005 17:03:28
alguien me puede ayudar juziel Internet 2 13-09-2004 23:51:12
Alguien que me pueda ayudar con SQL, Table e InstallShield CI>140 Firebird e Interbase 2 21-08-2003 06:53:25
Tres preguntas sobre Excel Jordy Servers 0 18-06-2003 21:09:11
Una pregunta para Kinobi o cualquier persona que pueda ayudar Markoz Firebird e Interbase 1 03-06-2003 19:51:18


La franja horaria es GMT +2. Ahora son las 23:09:47.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi