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 18-06-2011
JJMR2009 JJMR2009 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 11
Poder: 0
JJMR2009 Va por buen camino
Unhappy Insertar campo calculado con Clientdataset

Buenas Soy Nuevo en Delphi, mi problema es que tengo una tabla de memoria con clientdataset, y tengo campos calculados Total es igual a precio x cantidad, en el grid me los muestra pero en el momento de guardar a la tabla todos los registros guardan menos el de total que es el campo calculado.

Como puedo guardar el valor de dicho campo. este es mi código para guardar en la tabla

Código Delphi [-]
  With ADOCONNECTION1 do
  begin
    Connected := True;
    With ADOTABLE1 do
     begin
      Active := True;
      CDS.ApplyUpdates(0);
      Active := False;
   end;

Gracias de antemano

Última edición por ecfisa fecha: 18-06-2011 a las 20:57:29. Razón: Etiquetas [DELPHI] [/DELPHI]
Responder Con Cita
  #2  
Antiguo 18-06-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola JJMR2009.

Precisamente la idea del campo calculado es que no resida fisicamente en la en la consulta/tabla, permitiendo ahorrar espacio de almacenamiento y evitando redundancias. Un ejemplo típico de este, es una tabla donde tenemos los campos: Nombre y Apellido y deseamos mostrar nombre completo. Usamos el campo calculado para concatenar Nombre + Apellido.

Si tenés necesidad de que el resultado del campo calculado este en la tabla, deberías crear un campo físico para el mismo, pero no me parece buena idea.

¿Por que motivo queres guardarlo ?

Saludos.

Nota: Por favor cuando pongas código Delphi encerralo entre las etiquetas [delphi] [/delphi], gracias.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 18-06-2011 a las 21:26:12.
Responder Con Cita
  #3  
Antiguo 18-06-2011
JJMR2009 JJMR2009 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 11
Poder: 0
JJMR2009 Va por buen camino
Talking

Deseo guardar el campo calculado porque estoy tratando de hacer una lista de pedidos mediante un dbgrid conectado a clientdataset, adotable1, datasetprovider, al ingresar una linea debo calcular el total precio x cantidad y almacenar el total, para luego saber cuanto compró un cliente en particular.

También necesitaba algo parecido para descontar del inventario....
Gracias... Buen día para todos.
Responder Con Cita
  #4  
Antiguo 18-06-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Cita:
al ingresar una linea debo calcular el total precio x cantidad y almacenar el total, para luego saber cuanto compró un cliente en particular.
Segun entiendo en cada línea el campo calculado corresponde al subtotal de cantidad x precio de un comprobante (factura por ej.) y al finalizar querés obtener la sumatoria de los subtotales como el total de la compra realizada.

Si es así, te podrías valer de una variable para ir acumulando los subtotales o calcularlo al terminar la emisión de líneas y luego guardarlo.

Como implementes eso dependerá de como esté organizada la información, las líneas que mencionas ¿ Corresponden a una tabla detalle del comprobante ?

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 18-06-2011 a las 22:32:52.
Responder Con Cita
  #5  
Antiguo 18-06-2011
JJMR2009 JJMR2009 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 11
Poder: 0
JJMR2009 Va por buen camino
Smile

Cita:
Empezado por ecfisa Ver Mensaje
Hola.



Segun entiendo en cada línea el campo calculado corresponde al subtotal de cantidad x precio de un comprobante (factura por ej.) y al finalizar querés obtener la sumatoria de los subtotales como el total de la compra realizada.

Si es así, te podrías valer de una variable para ir acumulando los subtotales o calcularlo al terminar la emisión de líneas y luego guardarlo.

Como implementes eso dependerá de como esté organizada la información, las líneas que mencionas ¿ Corresponden a una tabla detalle del comprobante ?

Saludos.

Si tengo una tabla "Ventas", donde quiero almacenar el cliente, el articulo, cantidad, Precio, y total. de cada una de la lineas de la factura. Todo me guarda bien pero no logro guardar el total de precio x cantidad. por lo que comentaba antes que el campo total es un campo calculado en un clientdataset...

Creo que si es como tu dices, sólo que no se el codigo para hacerlo...

Gracias por tus respuestas.
Responder Con Cita
  #6  
Antiguo 18-06-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Creo que no estoy entendiendo como tenes organizada la información...

¿ Podrías especificar someramente la estructura de la tabla cabecera (cliente, total, etc) y la de detalle (producto, cantidad, precio, subtotal) ?


Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 18-06-2011
JJMR2009 JJMR2009 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 11
Poder: 0
JJMR2009 Va por buen camino
Ok: Tengo un dbgrid asociado a un clientdataset, DatasetProvider, Datasorse, y una tabla Ventas...

Voy ingresando lineas al Dbgrid así:
Código Delphi [-]
with CDS do
     begin
     Append;
          FieldByname('Cantidad').AsFloat := strtofloat(cant.Text);
          FieldByname('Articulo').AsString := Articulo.Text;
           FieldByname('Precio').AsString := Precio.Text;
 Post;

El problema es que si cambio la cantidad, lógicamente el subtotal debe cambia en esa linea. Bien eso en pantalla lo hago con un campo calculado del clientdataset.

Los campos de esta tabla "Ventas" son documento, Articulo, Precio, Cantidad, Total, fecha. Estoy Trabajando con access... Disculpa mi ignorancia... Gracias

Última edición por ecfisa fecha: 19-06-2011 a las 00:47:22. Razón: Etiquetas [DELPHI] [/DELPHI]
Responder Con Cita
  #8  
Antiguo 19-06-2011
JJMR2009 JJMR2009 is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 11
Poder: 0
JJMR2009 Va por buen camino
Talking

Cita:
Empezado por ecfisa Ver Mensaje
Hola.

Creo que no estoy entendiendo como tenes organizada la información...

¿ Podrías especificar someramente la estructura de la tabla cabecera (cliente, total, etc) y la de detalle (producto, cantidad, precio, subtotal) ?


Saludos.

GRACIASSSS....Por la aclaración , ya pude solucionar mi problema. Si era como Ud decía. No había necesidad de grabar ese campo calculado. Ya en una consulta aparte se calcula
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
Campo Calculado!!! Ledian_Fdez OOP 1 03-10-2007 22:10:01
Pasar un campo calculado a un campo del mismo DbGrid maravert Conexión con bases de datos 3 12-05-2006 00:31:30
Campo calculado sercornejov MySQL 3 09-08-2005 02:54:35
Campo de bd calculado davidgaldo MS SQL Server 3 20-05-2005 15:50:22


La franja horaria es GMT +2. Ahora son las 12:04:08.


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