Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   comparar dos columnas de una tabla (https://www.clubdelphi.com/foros/showthread.php?t=84039)

DOS 01-09-2013 02:33:03

comparar dos columnas de una tabla
 
Hola, resulta que tengo una tabla de productos que tiene cantidad y stockminimo, quiero compararlos, porque si alguno llega al minimo tire un mensaje que hay que reponer mercaderias.
Código Delphi [-]
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
Form1.Hide;
Form2.Show;   // menú veterinaria
Table1.Active:=true;
   While not Table1.Eof do
 begin
   if Table1.FieldByName('Stock').Value < Table1.FieldByname('Minimo').Value then // verifica si hay productos faltantes
      application.MessageBox('Hay productos con bajo stock', '¡Atención!', mb_ok + mb_iconquestion);
  end;
end;
el asunto es que se queda coldo el programa, como que falta cerrarlo de alguna manera, agradesco cualquier ayuda.

oscarac 01-09-2013 02:57:28

intenta con esto

Código Delphi [-]
if Table1.FieldByName('Stock').AsFloat < Table1.FieldByname('Minimo').AsFloat

seria bueno q hagas una ejecucion paso a paso (tecla f8) para ver en que momento se cuelga

podrias hacer una consulta tambien

Select Producto
From Tabla1
where stock < Minimo

so hay un registro eso quiere decir que hay productos con bajo stock

DOS 01-09-2013 04:04:40

Cita:

Empezado por oscarac (Mensaje 466287)
intenta con esto

Código Delphi [-]if Table1.FieldByName('Stock').AsFloat < Table1.FieldByname('Minimo').AsFloat


seria bueno q hagas una ejecucion paso a paso (tecla f8) para ver en que momento se cuelga

podrias hacer una consulta tambien

Select Producto
From Tabla1
where stock < Minimo

so hay un registro eso quiere decir que hay productos con bajo stock

lo intente y tambien se colgo al principio, en cuanto a la consulta, no hay forma de agregarle un mensaje si hay algun producto con bajo stock?
Esto es asi hay un formulario de bienvenida, se apreta un boton para ir al formulario principal y ya se realiza un control del stock minimo y si hay alguna diferencia, muestra un cartel anunciandolo, gracias.

oscarac 01-09-2013 04:15:42

mmm se colgo al principio?
que base de datos estas usando?
en que momento llamas a esa consulta?

me parece que no es la forma correcta
estas haciendo un bucle y ese mensaje aparecera por cada articulo q tenga menor stock

te recomendaria q hagas una consulta y si deseas puedas mostrar los articulos que tienen stock menor que el minimo

trata de ubicar el momento en que se cuelga y ponlo aqui en el foro

Casimiro Notevi 01-09-2013 10:27:32

No está bloqueado (colgado), sino en un bucle sin fin.
Código Delphi [-]
while not table1.eof do
begin
  // aquí va la comparación y ahora -->
  table1.Next;   //  <--  pasamos al siguiente registro
end;

oscarac 01-09-2013 22:21:34

Cita:

Empezado por Casimiro Notevi (Mensaje 466290)
No está bloqueado (colgado), sino en un bucle sin fin.
Código Delphi [-]
while not table1.eof do
begin
  // aquí va la comparación y ahora -->
  table1.Next;   //  <--  pasamos al siguiente registro
end;

como no lo vi???

DOS 01-09-2013 23:54:00

Gracias Casimiro, ahora esta OK^\||/


La franja horaria es GMT +2. Ahora son las 18:14:51.

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