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
  #21  
Antiguo 21-09-2012
edgar_prospero edgar_prospero is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 202
Poder: 13
edgar_prospero Va por buen camino
el clientdataset2 es el que estoy tratando de usar para actualizar mi tabla productos segun yo pero es donde estoy confundido ya me perdi un poco con esto y espero y me tengan paciencia, pues aqui adjunto lo que llevo del proyecto para que puedan orientarme bien y decirme todos mis errores
Archivos Adjuntos
Tipo de Archivo: rar TIENDA.rar (91,7 KB, 8 visitas)
__________________
saludos!!!
Responder Con Cita
  #22  
Antiguo 21-09-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.073
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Entonces el código que ha puesto ecfisa te tiene que servir perfectamente.
Tienes que hacer click en el clientdataset1, luego en el inspector de objetos vas a la pestaña "eventos" y en el AfterPost le das doble click.
Se verá algo así:
Código Delphi [-]
procedure TForm1.clientdataset1AfterPost(DataSet: TDataSet); 
begin

end;

Y debes escribir lo tecleado por ecfisa;

Quedando así:

Código Delphi [-]
procedure TForm1.clientdataset1AfterPost(DataSet: TDataSet);   
begin
  with clientdataset2 do   
  begin     
    Edit;     
    FieldByName('EXISTENCIAS').Value := FieldByName('EXISTENCIAS').Value -       clientDataSet1.FieldByName('CANTIDAD').Value;     
  Post;   
end;
Responder Con Cita
  #23  
Antiguo 21-09-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.073
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Realmente confunde con esos nombres, procura siempre ponerle nombres claros, como ha hecho ecfisa, ya que clientdataset1, clientdataset2, etc. confunde y no sabes qué son cada uno, creo que yo me he confundido.
Debes renombrarlo como (ejemplo) cdsVentas, cdsProductos

Por cierto, en el afterpost, antes de actualizar el campo existencias, debes tener localizado el registro a actualizar.
Responder Con Cita
  #24  
Antiguo 21-09-2012
ElMug ElMug is offline
Miembro
NULL
 
Registrado: jul 2012
Posts: 163
Poder: 12
ElMug Va por buen camino
Edgar, tienes DOS datasets.

Asegurate que el cambio a Existencias lo mandes al dataset debido y que vaya a dar a la tabla Productos.
Responder Con Cita
  #25  
Antiguo 21-09-2012
edgar_prospero edgar_prospero is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 202
Poder: 13
edgar_prospero Va por buen camino
pues si hice eso amigo pero me marca el error de que clientdataset2:field 'existencia' not found tratare de ver porque me marca eso es que no se en donde esta mi error no se que me falte
__________________
saludos!!!
Responder Con Cita
  #26  
Antiguo 21-09-2012
edgar_prospero edgar_prospero is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 202
Poder: 13
edgar_prospero Va por buen camino
acabo de leer tu comentario casimiro tomare en cuenta tu consejo y cambiare el nombre ahora no se si me puedas decir como esta eso de tener localizado el registro a actualizar, antes de actualizar el campo existencias me podrias orientar en esto
__________________
saludos!!!
Responder Con Cita
  #27  
Antiguo 01-10-2012
edgar_prospero edgar_prospero is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 202
Poder: 13
edgar_prospero Va por buen camino
que hay amigos ya hace tiempo de este post pero ya logre hacer que me reste las existencias nomas que tengo un problema que al ir agregando los productos al dbgrid ya desde ahi me quita las existencias y queiro quelo haga hasta que guarde el producto porque encaso de un error de que me equivoque de producto lo voy a eliminar del dbgrid pero a se va a quedar modificado en existencias ojala me puedan ayudar

Código Delphi [-]
procedure TForm1.clientdataset1AfterPost(DataSet: TDataSet);   
begin
  with clientdataset2 do   
  begin     
    Edit;     
    FieldByName('EXISTENCIA').Value := FieldByName('EXISTENCIA').Value -       clientDataSet1.FieldByName('CANTIDAD').Value;     
  Post;   
end;
__________________
saludos!!!
Responder Con Cita
  #28  
Antiguo 01-10-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.073
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por edgar_prospero Ver Mensaje
que hay amigos ya hace tiempo de este post pero ya logre hacer que me reste las existencias nomas que tengo un problema que al ir agregando los productos al dbgrid ya desde ahi me quita las existencias y queiro quelo haga hasta que guarde el producto porque encaso de un error de que me equivoque de producto lo voy a eliminar del dbgrid pero a se va a quedar modificado en existencias ojala me puedan ayudar
Amigo, imagina que eso lo ha escrito otra persona, intenta leerlo a ver si lo entiendes, sin ni un un signo de puntuación, no se sabe dónde acaba una frase y empieza otra, no se sabe si afirmas, preguntas, confirmas... en fin, que cuesta entenderlo.
Responder Con Cita
  #29  
Antiguo 01-10-2012
edgar_prospero edgar_prospero is offline
Miembro
NULL
 
Registrado: mar 2012
Posts: 202
Poder: 13
edgar_prospero Va por buen camino
tienes toda la razon tratare de explicarme de mejor forma y sacar mis clases de español para la puntuacion.

gracias a su ayuda logre hacer que me restara las existencias con el codigo que puse anteriormente, pero tengo el problema que con ese evento de afterpost al ir mandando mis productos al dbgrid ya me lo va descontando de existencias, siendo que lo que necesito es que haga el descuento hasta que le de en el boton guardar. no se si ahora me explicaria un poco mejor jeje
__________________
saludos!!!
Responder Con Cita
  #30  
Antiguo 02-10-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.073
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Ahora sí
Bueno, entonces si no quieres que descuente existencias por cada línea que se va guardando... te queda solamente una opción: cuando le des a terminar/finalizar/aceptar el documento, o sea, cuando se termina, antes de salir debes de recorrer el dataset con todas las líneas y hacer la resta por cada una de ellas. Resumiendo, hacer "lo mismo" pero manualmente. Algo así (tú debes sustituir los dataset, nombres de tablas, campos, etc.), es sólo para que te hagas una idea:

Código Delphi [-]
qlineas.first;
while not qlineas.eof do
begin  
  update tablaexistencias set existencias=existencias - qlineas.cantidad.asinteger;
  post;
  qlineas.next;
end;

Aunque, desde luego, la otra opción es más efectiva.
Responder Con Cita
  #31  
Antiguo 02-10-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
No entiendo cuál es el problema. Mientras no se haga el ApplyUpdtes de ambos ClientDataSets, no se guardarán los registros cambiados en la base de datos.

// 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
restar entre 2 tablas de mysql y mostrar en reporte edgar_prospero Varios 68 07-09-2012 21:58:11
restar minutos a un DATETIME en mysql advancexz SQL 0 03-07-2008 05:27:21
Determinar Existencias elprimo Tablas planas 2 07-01-2007 04:42:45
Filtrado existencias en cero lgarcia SQL 2 13-02-2005 13:14:23
Concurrencia, mantener existencias en Red hibero Firebird e Interbase 4 08-10-2004 18:07:16


La franja horaria es GMT +2. Ahora son las 21:43: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