![]() |
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 |
Problema solucionado
ya solucione el problema :cool:
:p Karla |
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 |
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 |
Hola,
Si nos quedamos con esto: Cita:
Código:
total = costo_uno * cantidad // Saludos |
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 :D |
La franja horaria es GMT +2. Ahora son las 11:41:17. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi