Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Mostrar Registros Mayor que (https://www.clubdelphi.com/foros/showthread.php?t=56950)

lKinGl 01-06-2008 18:42:11

Mostrar Registros Mayor que
 
Hola de nuevo amigos foristas..

Tengo una búsqueda sql con radiogroup y un dbgrid el cual funciona perfectamente y sirve para hacer proformas...

quisiera agregar un boton en el radiogroup el cual me refleje en el dbgrid los artículos que su cantidad sea menor o igual a 10..

¿alguna idea?

Gracias Adelantadas!!

Caral 01-06-2008 19:21:31

Hola
Código SQL [-]
Select * from tutabla where cantidad <= 10
Saludos

enecumene 01-06-2008 19:25:31

Hola, será algo así?:

Código Delphi [-]
If RadioButton1.checked then
    begin
    Query1.Close;
    Query1.SQL.Add(' where Cant <= 10');
    Query1.open;
    end;

Saludos.

PD. Eso es lo malo de tener internet Dial-up, :D.

lKinGl 01-06-2008 19:31:24

Disculpen por no poner el código antes tengo este código que funciona con 3 radiobuttons en un radiogroup y cuando selecciono uno muestra los resultados obtenidos en un dbgrid

Código Delphi [-]
case RadioGroup1.ItemIndex of
  0:buscar:='Select codart,desart,pvpart,stkart From articulo.DB Where codart Like "' + (Edit1.text) + '%"';
  1:buscar:='Select codart,desart,pvpart,stkart From articulo.DB Where desart Like "' + (Edit1.text) + '%"';
  2:buscar:='Select codart,desart,pvpart,stkart From articulo.DB Where stkart <= 10';
  end;

lKinGl 01-06-2008 19:33:10

ya lo he intentado de la forma en que dice el amigo enecumene y el amigo Caral y da error type mismacht algo asi :confused:

Caral 01-06-2008 19:34:09

Hola
No entiendo, funciona, no funciona, lo modificaste, necesitas algo mas??.
Saludos

lKinGl 01-06-2008 19:35:04

no funciona amigo dice error type mismatch

Caral 01-06-2008 19:35:07

Hola
Que tipo de campo es Cantidad???.
Saludos

enecumene 01-06-2008 19:35:51

Cita:

Empezado por lKinGl (Mensaje 290569)
ya lo he intentado de la forma en que dice el amigo enecumene y el amigo Caral y da error type mismacht algo asi :confused:

Está indicando que hay una diferencia en el tipo de campo entre el campo persistente del dataset y la base de dato. Intenta cargar de nuevo los persistentes del Dataset.

Saludos.

lKinGl 01-06-2008 19:36:14

En la tabla paradox 7 Stkart es de tipo Integer

Caral 01-06-2008 19:39:30

Hola
Como dice enecumene, puede que en algun momento cambiaras el tipo de dato, recarga el dataset y veremos que pasa.
La operacion tal como la pusimos es para un campo integer, no creo que sea ese el problema.
Saludos

lKinGl 01-06-2008 19:43:15

Código del Radiogroup1

Código Delphi [-]
procedure TForm7.RadioGroup1Click(Sender: TObject);
var
buscar:string;
begin
if RadioGroup1.ItemIndex=0 then
edit1.enabled:=true;
edit1.Clear;
dbgrid1.Enabled:=true;
if radiogroup1.ItemIndex=1 then
edit1.enabled:=true;
edit1.clear;
dbgrid1.Enabled:=true;
case RadioGroup1.ItemIndex of
0:edit1.Enabled:=true;
1:edit1.enabled:=true;
end;
end;

Código del edit1 (mi filtro de informacion)

Código Delphi [-]
procedure TForm7.Edit1Change(Sender: TObject);
var
buscar:string;
begin
case RadioGroup1.ItemIndex of
  0:buscar:='Select codart,desart,pvpart,stkart From articulo.DB Where codart Like "' + (Edit1.text) + '%"';
  1:buscar:='Select codart,desart,pvpart,stkart From articulo.DB Where desart Like "' + (Edit1.text) + '%"';
  2:buscar:='Select codart,desart,pvpart,stkart From articulo.DB Where stkart <= 10';
end;
  Query1.SQL.Clear;
  Query1.SQL.Add(buscar);
  Query1.Active:=True;
  Query1.Open;
  dbgrid1.Columns.Items[0].Width:=50;
  dbgrid1.Columns.Items[1].Width:=200;
  dbgrid1.Columns.Items[2].Width:=90;
  dbgrid1.Columns.Items[3].Width:=60;
  dbgrid1.Columns[0].Title.caption:='Código';
  dbgrid1.Columns[1].Title.caption:='Nombre del Articulo';
  dbgrid1.Columns[2].Title.caption:='PVP';
  dbgrid1.Columns[3].Title.caption:='Existencia';
end;

el error da apenas presiono el radiobutton 3 (Cantidad)=Stkart

enecumene 01-06-2008 19:49:13

¿Por casualidad sabes lo que son los campos persistentes?, son aquellos campos que agregas cuando le das doble click al query, lo que tienes que hacer es, primero poner en False el dataset, dar doble click al dataset, borrar los campos agregados, poner en true, luego agregar los campos de nuevo y ponerlo otra vez a False. Intentalo.

Saludos.

Caral 01-06-2008 19:49:45

Hola
No veo el error, intenta esto:
Código Delphi [-]
case RadioGroup1.ItemIndex of
  0:buscar:='Select codart,desart,pvpart,stkart From articulo.DB Where codart Like "' + (Edit1.text) + '%"';
  1:buscar:='Select codart,desart,pvpart,stkart From articulo.DB Where desart Like "' + (Edit1.text) + '%"';
  2:buscar:='Select codart,desart,pvpart,stkart From articulo.DB Where stkart <=10';
Saludos

lKinGl 01-06-2008 19:56:12

Caral ese es exactamente el código que tenia pero sigue dando el error type mismatch

creo que el error puede estar en que la variable buscar es tipo string y stkart en integer

intenté declarar una variable buscar2:integer; pero nisiquiera corrió el programa

si ese es el error no tengo idea como solucionarlo :confused:

Caral 01-06-2008 20:14:03

Hola
Ese no es el problema
Buscar tiene que ser string.
El problema esta en que el dato 10 no coincide con el campo, por lo menos es lo que imagino.
Tienes que probar con otro dato.
Ejemplo, pon en vez de 10 el edit y en este pones el numero 10.
Si funciona el dato busca un string.
Saludos

lKinGl 01-06-2008 20:21:26

intenté con este código pero nada!

Código Delphi [-]
var
buscar,valor:string;
begin
valor:=inttostr(10);
case RadioGroup1.ItemIndex of
  0:buscar:='Select codart,desart,pvpart,stkart From articulo.DB Where codart Like "' + (Edit1.text) + '%"';
  1:buscar:='Select codart,desart,pvpart,stkart From articulo.DB Where desart Like "' + (Edit1.text) + '%"';
  2:buscar:='Select codart,desart,pvpart,stkart From articulo.DB Where stkart<=valor "';
end;

Caral 01-06-2008 20:21:33

Hola
Asi:
Código Delphi [-]
case RadioGroup1.ItemIndex of
  0:buscar:='Select codart,desart,pvpart,stkart From articulo.DB Where codart Like "' + (Edit1.text) + '%"';
  1:buscar:='Select codart,desart,pvpart,stkart From articulo.DB Where desart Like "' + (Edit1.text) + '%"';
  2:buscar:='Select codart,desart,pvpart,stkart From articulo.DB Where stkart <= ' + (Edit1.text);
Saludos

lKinGl 01-06-2008 20:25:54

Ahora intente con el código de caral

Código Delphi [-]
case RadioGroup1.ItemIndex of  
0:buscar:='Select codart,desart,pvpart,stkart From articulo.DB Where codart Like "' + (Edit1.text) + '%"';  
1:buscar:='Select codart,desart,pvpart,stkart From articulo.DB Where desart Like "' + (Edit1.text) + '%"';  
2:buscar:='Select codart,desart,pvpart,stkart From articulo.DB Where stkart <= ' + (Edit1.text);
pero ahora da un error distinto que dice invalid use of keyword token: <= creo que ya casi va a funcionar jejeje

Caral 01-06-2008 20:31:21

Hola
Probemos esto:
Código Delphi [-]
case RadioGroup1.ItemIndex of  
0:buscar:='Select codart,desart,pvpart,stkart From articulo.DB Where codart Like "' + (Edit1.text) + '%"';  
1:buscar:='Select codart,desart,pvpart,stkart From articulo.DB Where desart Like "' + (Edit1.text) + '%"';  
2:buscar:='Select codart,desart,pvpart,stkart From articulo.DB Where stkart = ' + (Edit1.text);
Quitando el signo de menor que.
A ver que pasa.
Saludos


La franja horaria es GMT +2. Ahora son las 01:52:30.

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