Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
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
  #2  
Antiguo 07-08-2012
Nicolas_2011 Nicolas_2011 is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 59
Poder: 15
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
  #3  
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
  #4  
Antiguo 07-08-2012
Nicolas_2011 Nicolas_2011 is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 59
Poder: 15
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
  #5  
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
  #6  
Antiguo 07-08-2012
Nicolas_2011 Nicolas_2011 is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 59
Poder: 15
Nicolas_2011 Va por buen camino
Cita:
Empezado por roman Ver Mensaje
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
Bien cometi un error al no aclarar algo desde un principio puse una variable 'cant' para igualar. osea asi
Código Delphi [-]
Fmodulo.Tdetallefactura['cantidad'] := cant;

ahora en vez de poner las lineas anteriores puse asi
Código Delphi [-]
Fmodulo.Tproducto.FieldByName('Stock').AsInteger := Fmodulo.Tproducto.FieldByName('Stock').AsInteger + cant;

ahora no da error y si modifica el stock en la base de datos. Pero hay otro problema ahora. por ejemplo compre 10 bolsas de arroz y ya tenia 10 osea al actualizar tengo 20. perfecto anda bien. pero ahora al querer agregar otra compra por ejemplo fideos compro 50 bolsas y tenia 10 deberia tener 60 pero no. esas 50 bolsas se suman al stock de arroz de 20 pasa a 70 espero q me entiendas. es decir todas las siguentes compras se suman a la primera que hice.
Responder Con Cita
  #7  
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, tienes que moverte al registro adecuado. La asignación a Fmodulo.Tproducto.FieldByName('Stock').AsInteger será siempre al registro activo. Si cambias de producto pues tienes que ubicarte en ese otro producto usandlo Locate o algún méodo similar.

// Saludos
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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 02:16:09.


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