• Jueves 28 de Marzo de 2024, 16:51

Autor Tema:  Ayuda Urgente Con Base De Datos  (Leído 1023 veces)

mebernal

  • Miembro activo
  • **
  • Mensajes: 35
    • Ver Perfil
Ayuda Urgente Con Base De Datos
« en: Jueves 22 de Junio de 2006, 00:26 »
0
mu buen dia yo soy un principiante en visualfox y anteriormente mande una consulta sobre un problema ,recibi ayuda pero me gustaria que me ubicaran mejor:
tengo una base de datos que la envio a continuacion en una imagen.

tengo un formulario de ingreso de placas.
y tengo otro formulario de salida de placas.

ahora bien quisiera saber como hacer para calcular la existencia de placas en la tabla placas en el campo cantid.de manera automatica, es decir yo cree un boton que calcula la existencia pero ay que presionarlo a cada momento para saber la existencia y ademas no me funciona del todo bien,tambien les mando el codigo a ver si me pueden ayudar o dar una idea.

muchas gracias de antemano

el programa que actualiza existencias es este:
*CALCULA LA EXISTENCIA DE PLACAS
SET DEFAULT TO D:\PNC\PROGS\
cexist()
SELECT 0
USE placas!placas
replace placas.cantid WITH 0 all
SET ORDER TO  numplaca

SELECT exist1
SET RELATION TO exist1.idplaca INTO placas
replace placas.cantid WITH exist1.cantidad all

SELECT salidasexis
SET RELATION TO salidasexis.idplaca INTO placas
replace placas.cantid WITH placas.cantid - salidasexis.cantidad all
CLOSE TABLES all
CLOSE DATABASES all

y este es el procedimiento que llama el programa existencias:

*cexist.prg calcula entradas y salidas
WAIT windows NOWAIT 'Calculando Entradas y Salidas'
SELECT SUM(Entdet.cantidad) AS cantidad, Entdet.idplaca;
 FROM ;
     placas!entradas ;
    INNER JOIN placas!entdet ;
   ON  Entradas.correl = Entdet.idcorrel;
 GROUP BY Entdet.idplaca;
 ORDER BY Entdet.idplaca INTO CURSOR exist1
 
 SELECT SUM(Salidas.cant) AS cantidad, Salidas.idplaca;
 FROM ;
     placas!salidas;
 GROUP BY Salidas.idplaca;
 ORDER BY Salidas.idplaca INTO CURSOR salidasexis


si yo ingreso entradas y salidas me calcula bien las existencias,pero
si yo borro alguna entrada o salida, ya no me calcula bien...
El mensaje contiene 1 archivo adjunto. Debes ingresar o registrarte para poder verlo y descargarlo.

arielb

  • Moderador
  • ******
  • Mensajes: 771
  • Nacionalidad: pa
    • Ver Perfil
    • http://coder-pa.blogspot.com
Re: Ayuda Urgente Con Base De Datos
« Respuesta #1 en: Lunes 3 de Julio de 2006, 18:33 »
0
k tal, bueno para obtenerlas de forma automatica puedes hacer por ejmplo
un actualizador es decir una ventanita que utilize un timer y usando una api para que se coloque en la barra de tarea y se estè ejecutando segun el tiempo que le coloques,

la otra es que en el mismo programa, al momento de realizar las salidas y entradas le agregues un procedimiento, prg que sea invocado y te realize el proceso de actualización de inventario, esto te permite tenerlo al instante de la tranzacción.
Es decir el procedimiento lo que haria es usando el indice de numero de placa lo buscas y al encontrarlo realizas la actualización según lo que estás sacando al momento o lo que está entrando.



Citar
si yo ingreso entradas y salidas me calcula bien las existencias,pero
si yo borro alguna entrada o salida, ya no me calcula bien...

Bueno aqui es recomendable usar la ley de los signos osea + y - .
Tal vez lo que estás haciendo es un delete al la linea registrada.
Te sugieron que trabajes con el termino de devolución y anulación.
si colocas un registro negativo y lo llevas actualizar al campo que corresponde, la sentencia tomará un registro negativo y otro positivo y ya por default eso para el es una resta.
Es decir las anulaciones y devoluciones colocarlas negativas, ya que para controles no es recomendable borrar registros de tranzacciones, y es mucho mejor trabajarlo asi.

Bueno espero te sirva y que me halla explicado
"Porque de tal manera amó Dios al mundo que dio a su hijo unigénito para que todo aquél que en él crea no se pierda mas tenga vida eterna"
Juan 3:16

http://coder-pa.blogspot.com