Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-05-2007
Avatar de karlaoax
karlaoax karlaoax is offline
Miembro
 
Registrado: oct 2003
Ubicación: Monterrey
Posts: 280
Poder: 21
karlaoax Va por buen camino
Unhappy Modificando total de acuerdo a existencia

La semana pasada abri un hilo para ver como actualizar existencias en una Base:
AUTOS con los siguientes campos: Codigo,Cantidad,color,agregar,costo_uno,total son tipo FLOAT

Le agregue los ultimos 2 campo en rojo.

Ahora de acuerdo a esto, cuando yo actualizo mi cantidad necesito actualizar tambien el total (Es el $ total almacenado).

Componentes:
1 Myquery
4 DBedit's (costo_uno, total)
DBedit3 (es mi CANTIDAD)
txtagregar (es la cantidad a agregar)
DBcosto_uno (Es el $ de un solo auto)
DBtotal (es lo que debe ser el $ de multiplicar DBcosto_uno*CANTIDAD)
1 edit (txtagregar)

Mi codigo en MyQuery es:
UPDATE autos
SET
cantidad = :cantidad,
total=:total // Cantidad en a modificar $
AS agregar
WHERE
codigo = :codigo

Mi boton:
MyTable1.Edit;
QueryUpdate.Close;
QueryUpdate.SQL.Clear;
QueryUpdate.SQL.Text:='UPDATE autos SET stock= '+QuotedStr(inttostr(strtoint(DBedit3.Text)+strtoint(txtagregar.Text)))+' WHERE codigo='+txtcodigo2.Text;
QueryUpdate.Execute;
MyTable1.Post;


Como puedo lograr mi cometido, ya modifique mi codigo, pero no me queda bien.

Estoy implementando lo siguiente, ya hago mis operaciones de DBcosto_uno*CANTIDAD y trato de hacer lo siguiente:
MyTable1.FieldByName('total').asfloat:=currtostr(DBtotal.text); // Lo "guardo" de esta forma

Mi forma de implementarlo es correcto, si muestra el total, yo imagino que debe de guardar el nuevo TOTAL, pero no funciona.

Gracias.
Karla

Última edición por karlaoax fecha: 02-05-2007 a las 19:53:42.
Responder Con Cita
  #2  
Antiguo 02-05-2007
Avatar de karlaoax
karlaoax karlaoax is offline
Miembro
 
Registrado: oct 2003
Ubicación: Monterrey
Posts: 280
Poder: 21
karlaoax Va por buen camino
Wink Problema solucionado

ya solucione el problema


Karla
Responder Con Cita
  #3  
Antiguo 02-05-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Ajá, y ¿por qué no nos comentas cómo lo hiciste? Así le ahorras trabajo a quien en el futuro tenga una duda similar.

// Saludos
Responder Con Cita
  #4  
Antiguo 02-05-2007
Avatar de karlaoax
karlaoax karlaoax is offline
Miembro
 
Registrado: oct 2003
Ubicación: Monterrey
Posts: 280
Poder: 21
karlaoax Va por buen camino
Red face Forma muy simple

Puse otro query con lo siguiente:

UPDATE autos
SET
cantidad = :cantidad
total = :total
WHERE
codigo = :codigo

y en mi boton:
QueryUpdate.SQL.Text:='UPDATE autos SET total= '+QuotedStr(currtostr(strtoint(DBedit3.Text)*strtocurr(DBcosto_uno.Text)))+' WHERE codigo='+txtcodigo2.Text;

Ahora lo estoy tratando de implementar para que lo ejecute en una sola Query, pero sigo haciendo pruebas, he aqui los avances, malos pero los muestro esperando sugerencias, cuando me quede lo posteo nuevamente

QueryUpdate.SQL.Text:='UPDATE autos SET cantidad,total= '+QuotedStr(inttostr(strtoint(DBedit3.Text)+strtoint(txtagregar.Text)))+'*'+QuotedStr(currtostr(strt oint(DBedit3.Text)*strtocurr(DBcosto_uno.Text)))+' WHERE codigo='+txtcodigo2.Text;

Sigue en modo de pruebas, si alguien me ayuda se lo agradecere

Karla

Última edición por karlaoax fecha: 02-05-2007 a las 21:36:59.
Responder Con Cita
  #5  
Antiguo 02-05-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Hola,

Si nos quedamos con esto:

Cita:
Empezado por karlaoax
cuando yo actualizo mi cantidad necesito actualizar tambien el total (Es el $ total almacenado).
y suponiendo que

Código:
total = costo_uno * cantidad
yo preguntaria, para empezar, ¿por qué guardar el campo total en la tabla? Es un campo calculado y su valor siempre puedes deducirlo de los otros, así que, a primera vista, no veo necesidad de mantenerlo en la base.

// Saludos
Responder Con Cita
  #6  
Antiguo 02-05-2007
Avatar de karlaoax
karlaoax karlaoax is offline
Miembro
 
Registrado: oct 2003
Ubicación: Monterrey
Posts: 280
Poder: 21
karlaoax Va por buen camino
Talking Buen punto

Es lo que estaba pensando, y solo cuando mande a impresar mi tabla, usare la clausula SUM para sumar los valores que correspondan al WHERE.

Gracias Roman
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
Modificando exes b0rn Varios 3 06-03-2007 22:36:18
Nuestros políticos se ponen de acuerdo... Casimiro Notevi La Taberna 3 13-07-2006 00:31:22
Marcos centrados de acuerdo a la resolución pantalla HombreSigma HTML, Javascript y otros 1 03-12-2005 23:11:29
Modificando el "constructor Create" del Form sitrico OOP 2 01-10-2004 09:51:43
Aplicaciones de acuerdo con la LOPD tin Debates 1 09-10-2003 15:07:16


La franja horaria es GMT +2. Ahora son las 15:15:56.


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