Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-08-2012
Nicolas_2011 Nicolas_2011 is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 59
Poder: 13
Nicolas_2011 Va por buen camino
Disminuir cantidades en una tabla

Buen dia foreros tengo un progamita en el cual se compra y se vende mercaderias tengo una tabla para VENTAS, una tabla para COMPRAS, una tabla para PRODUCTOS, (Ahi mas pero creo q estas involucran lo q necesito), Lo cual es lo siguiente ya se al momento de una venta o al momento de una compra, en la tabla de PRODUCTOS necesito que aumenten o disminuyen la cantidad 'stock' de producto que se esta vendiendo o comprando.
yo al momento de seleccionar la cantidad y el producto ejecuto esta linea de codigo

Código Delphi [-]
Fmodulo.Tproducto.Active := True; 
Fmodulo.Tproducto.Edit; 
Fmodulo.Tproducto ['Stock'] := Fmodulo.Tproducto ['Stock'] + Fmodulo.Tdetallefactura['cantidad']; 
Fmodulo.Tproducto.Active := False;
Esto siendo en el caso de la compra.

Pero por eso estoy aqui, al momento de probarlo voy a la BD reviso la tabla de productos y no modifico absolutamente nada.
alguna ayuda??

Última edición por Casimiro Notevi fecha: 07-08-2012 a las 17:44:45.
Responder Con Cita
  #2  
Antiguo 07-08-2012
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
Te faltaría poner

Código Delphi [-]
Fmodulo.Tproducto.Post;

después de la asignación del nuevo valor.

// Saludos
Responder Con Cita
  #3  
Antiguo 07-08-2012
Nicolas_2011 Nicolas_2011 is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 59
Poder: 13
Nicolas_2011 Va por buen camino
Cita:
Empezado por roman Ver Mensaje
Te faltaría poner

Código Delphi [-]Fmodulo.Tproducto.Post;


después de la asignación del nuevo valor.

// Saludos

Amigo el codigo me queda asi

Código Delphi [-]
Fmodulo.Tproducto.Active := True;
Fmodulo.Tproducto.Edit;
Fmodulo.Tproducto ['Stock'] := Fmodulo.Tproducto ['Stock'] + Fmodulo.Tdetallefactura['cantidad'];
Fmodulo.Tproducto.Post;
Fmodulo.Tproducto.Active := False;

Pero me da error diciendo que la columna stock no puede ser nula
Responder Con Cita
  #4  
Antiguo 07-08-2012
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
Bueno, el código es correcto, ya el problema debe ser otra cosa. Quizá el valor de Fmodulo.Tdetallefactura['cantidad'] no sea correcto y delphi lo convierte en null al asignarlo. Prueba poniendo así:

Código Delphi [-]
Fmodulo.Tproducto.FieldByName('Stock').AsInteger := Fmodulo.Tproducto.FieldByName('Stock').AsInteger + Fmodulo.Tdetallefactura.FieldByName('cantidad').AsInteger;

para discernir mejor porqué se da el error.

// Saludos
Responder Con Cita
  #5  
Antiguo 07-08-2012
Nicolas_2011 Nicolas_2011 is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 59
Poder: 13
Nicolas_2011 Va por buen camino
Cita:
Empezado por roman Ver Mensaje
Bueno, el código es correcto, ya el problema debe ser otra cosa. Quizá el valor de Fmodulo.Tdetallefactura['cantidad'] no sea correcto y delphi lo convierte en null al asignarlo. Prueba poniendo así:

Código Delphi [-]Fmodulo.Tproducto.FieldByName('Stock').AsInteger := Fmodulo.Tproducto.FieldByName('Stock').AsInteger + Fmodulo.Tdetallefactura.FieldByName('cantidad').AsInteger;


para discernir mejor porqué se da el error.

// Saludos

Bien. Ahora ya no me da ningun error. pero no modifica el producto en la BD.
Responder Con Cita
  #6  
Antiguo 07-08-2012
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
Debe haber un error en los datos. Verifica el valor de Fmodulo.Tdetallefactura.FieldByName('cantidad').AsInteger, poniendo, por ejemplo:

Código Delphi [-]
ShowMessage(IntTotr(Fmodulo.Tdetallefactura.FieldByName('cantidad').AsInteger));

// Saludos
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
como disminuir una imagen LiAnTe- Varios 2 08-01-2010 09:55:45
Aumentar y disminuir un Timage fasthorse C++ Builder 4 24-04-2008 16:46:46
Disminuir el tamaño de un ejecutable tannyk Varios 6 18-05-2005 06:23:41
Disminuir el tamaño de los archivos .pst (outlook) Alexander Windows 3 11-05-2005 19:42:38
Disminuir tamaño de un programa Leomedellin Varios 1 06-04-2005 18:49:05


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


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