Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Que tiene esta Rutina? (https://www.clubdelphi.com/foros/showthread.php?t=33310)

esimon 03-07-2006 19:31:03

Que tiene esta Rutina?
 
Buena Tarde para todos.

estoy tratando de hacer una pantalla para buscar, pero no se por que no me esta funcionando le voy a decir que estoy haciendo y como lo hago.

Estoy usando lo siguiente
  • un RadioGroup1
    un edit y un DBGrids
el RadioGroup, es para seleccionar por el tipo que quiero buscar, el Edit escribo el contenido del campo y el DBGrid es para que me baya mostranto a medida que baya digitando en el Edit me muestre los datos en el DBGrids.
esta es la rutina que uso, en el Evento OnChange del Edit.

Código:

procedure TFrm_Buscar.Edit1Change(Sender: TObject);
const
STRSQL = 'Select * From Informacion_Convenio';
begin
 case RadioGroup1.ItemIndex of
 1 : begin
  qry_Buscar.Close;
  if (Edit1.Text = '') then begin
      Qry_Buscar.SQL.Text := STRSQL;
  end
  else begin
      Qry_Buscar.SQL.Text := STRSQL +
      ' WHERE Descripcion_Organizacion LIKE ' +QuotedStr('%' +Edit1.Text+ '%')
      end;
      Qry_Buscar.Open;
end;
end;   
end;

no se que estoy haciendo mal pero no me funciona, los campos son de texto y uso Accesse

Héctor Randolph 03-07-2006 19:51:17

Hola esimon!

Lo primero que yo haría sería verificar si la sentencia que estás contruyendo te devuelve algún registro, es decir, ejecuta la sentencia select directamente en la base de datos para comprobar que el resultado es el que esperas.

Me parece que el LIKE en Access se hace con el caracter * (asterisco) y no con % (signo de porcentaje).

Saludos

egostar 03-07-2006 20:02:04

EL codigo funciona bien, aunque yo uso Paradox, pero no creo que la base de datos sea el problema.

Podrias comentar que es lo que no funciona, ta manda algun error, te muestra datos que no quieres, etc.

Saludos.

Edito el mensaje. No habia leido bien el post anterior, pero puede ser la causa, yo desconozco el like con Access.

Segunda Edición

No quise quedarme con la duda así que me puse a buscar esto y si efectivamente en acces se usa el *, aqui una página con este operador.

http://www.desarrolloweb.com/articulos/2280.php

Saludos.

esimon 03-07-2006 20:23:33

lo primero que tengo que hacer se selelccionar por cual campo voy a buscar y luego comensar a escribir en el Edit, pero no me da ningun error.

ContraVeneno 03-07-2006 22:20:24

¿ya probaste cambiando los % por * ?

Código Delphi [-]
with qry_buscar do begin
 if active then close;
 sql.clear;
 sql.add('Select * From Informacion_Convenio');
 sql.add('WHERE Descripcion_Organizacion LIKE '+QuotedStr('*' +Edit1.Text+ '*'));
 Open;
end;

esimon 04-07-2006 17:19:03

mil gracias a todos por la ayuda prestada, todo esto estaba funcionando perfectamente, el problema eran que los campos de Grid no estaban relacionados con la tabla.

de toda manera mucha gracias nuevamente y pasen todos un feliz resto del dia.


La franja horaria es GMT +2. Ahora son las 12:58:18.

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