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 29-09-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Que pena pero no encuentro el error.
Se salta el Like y hace como si fuera un =.
He probado con todo lo que se me ocurre y nada, he quitado, puesto, cambiado, usado Quotedtr, todo......
No se, me extraña mucho.
He revisado la BD y todo esta bien, no lo entiendo.
Lo siento.
Saludos
PD: Seria muy bueno que cuando empezáis no usarais todos esos componentes para la apariencia, es engorroso tener que ir quitan dolos para correr el programa.
Solo como sugerencia.
__________________
Siempre Novato
Responder Con Cita
  #22  
Antiguo 29-09-2011
Avatar de Darkseratul
Darkseratul Darkseratul is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 58
Poder: 14
Darkseratul Va por buen camino
Unhappy oooo que mala suerte

Cita:
Empezado por Caral Ver Mensaje
Hola
Que pena pero no encuentro el error.
Se salta el Like y hace como si fuera un =.
He probado con todo lo que se me ocurre y nada, he quitado, puesto, cambiado, usado Quotedtr, todo......
No se, me extraña mucho.
He revisado la BD y todo esta bien, no lo entiendo.
Lo siento.
Saludos
PD: Seria muy bueno que cuando empezáis no usarais todos esos componentes para la apariencia, es engorroso tener que ir quitan dolos para correr el programa.
Solo como sugerencia.
mi problema no tiene arreglo que mal
se que ya has hecho mucho, y sin querer abusar de tu confianza no hay otra forma que se te ocurra ??? para lograr el objetivo

objetivo: hacer una búsqueda en una tabla con varios campos poder elegir el campo para la búsqueda

no se te ocurre algo que pueda hacer ???
Responder Con Cita
  #23  
Antiguo 29-09-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
que raro no puedo bajar el archivo
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #24  
Antiguo 29-09-2011
Avatar de Darkseratul
Darkseratul Darkseratul is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 58
Poder: 14
Darkseratul Va por buen camino
Cita:
Empezado por oscarac Ver Mensaje
que raro no puedo bajar el archivo
hola que tal si esta raro creo que movieron el archivo o quisas el servidor tiene problemas
pero ya lo subí a un servidor

http://www.megaupload.com/?d=UIV9DR7O

muchas gracias por tu interés
Responder Con Cita
  #25  
Antiguo 29-09-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Mira este codigo:
Código Delphi [-]
procedure TFBuscaCliente.Edit1Change(Sender: TObject);
var
   Filtro : String;
begin
   If (Edit1.Text <> '') then
   begin
      ATClientes.Filtered := False;
      If CBFiltro.Text = 'Código' then Filtro := 'CodCliente Like '+Edit1.Text
         else If CBFiltro.Text = 'Nombre' then Filtro := 'NombreCliente Like '''+ Edit1.Text + '*'''
            else If CBFiltro.Text = 'Teléfono' then Filtro := 'Telefono Like '''+ Edit1.Text + '*''';
      ATClientes.Filter := Filtro;
      ATClientes.Filtered := True
   end
   else ATClientes.Filtered := False;
end;
Es lo mismo que quieres hacer tu.
Lo he usado siempre y nunca me ha dado ningun problema.
Como Te imagiraras CodCliente es Numerico y me filtra sin problemas.
CBFiltro es un combobox que me elige las opciones.
Trata de ver que se te ocurre, estoy seguro que tarde o temprano sale esto.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #26  
Antiguo 29-09-2011
Avatar de Darkseratul
Darkseratul Darkseratul is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 58
Poder: 14
Darkseratul Va por buen camino
Talking Muchas gracias caral

Cita:
Empezado por Caral Ver Mensaje
Hola
Mira este codigo:
Código Delphi [-]
procedure TFBuscaCliente.Edit1Change(Sender: TObject);
var
   Filtro : String;
begin
   If (Edit1.Text <> '') then
   begin
      ATClientes.Filtered := False;
      If CBFiltro.Text = 'Código' then Filtro := 'CodCliente Like '+Edit1.Text
         else If CBFiltro.Text = 'Nombre' then Filtro := 'NombreCliente Like '''+ Edit1.Text + '*'''
            else If CBFiltro.Text = 'Teléfono' then Filtro := 'Telefono Like '''+ Edit1.Text + '*''';
      ATClientes.Filter := Filtro;
      ATClientes.Filtered := True
   end
   else ATClientes.Filtered := False;
end;
Es lo mismo que quieres hacer tu.
Lo he usado siempre y nunca me ha dado ningun problema.
Como Te imagiraras CodCliente es Numerico y me filtra sin problemas.
CBFiltro es un combobox que me elige las opciones.
Trata de ver que se te ocurre, estoy seguro que tarde o temprano sale esto.
Saludos
muchas gracias voy a checarlo y incorporarlo a mi proyecto a ver si me funciona

Muchas gracias maestro

Responder Con Cita
  #27  
Antiguo 29-09-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Estoy convencido que algo tiene que ver la conexion con la tabla en el adotable, no veo otra razon.
Mas tarde si tengo tiempo voy a usar tu BD y hacer algo similar a ver donde esta el problema.
Esto no tiene sentido, tiene que haber una explicacion logica.
Saludos
PD: oscarac tiene muy buenas ideas, esperemos a ver que dice.
__________________
Siempre Novato
Responder Con Cita
  #28  
Antiguo 29-09-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
exactamente cual es el problema?
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #29  
Antiguo 29-09-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Que no sabemos amigo, que no sabemos
Saludos
__________________
Siempre Novato
Responder Con Cita
  #30  
Antiguo 29-09-2011
Avatar de Darkseratul
Darkseratul Darkseratul is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 58
Poder: 14
Darkseratul Va por buen camino
Muchas gracias

Cita:
Empezado por Caral Ver Mensaje
Hola
Estoy convencido que algo tiene que ver la conexion con la tabla en el adotable, no veo otra razon.
Mas tarde si tengo tiempo voy a usar tu BD y hacer algo similar a ver donde esta el problema.
Esto no tiene sentido, tiene que haber una explicacion logica.
Saludos
PD: oscarac tiene muy buenas ideas, esperemos a ver que dice.
Muchas gracias por tu tiempo estoy tratando de incorporar el método que me diste voy a ver que tal
Responder Con Cita
  #31  
Antiguo 29-09-2011
Avatar de Darkseratul
Darkseratul Darkseratul is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 58
Poder: 14
Darkseratul Va por buen camino
Red face Ese es el mayor de mis problemas

Cita:
Empezado por Caral Ver Mensaje
Hola
Que no sabemos amigo, que no sabemos
Saludos
no entiendo muy bien cuando leo los libros y la documentación
gracias a ustedes cada ves entiendo mejor
Responder Con Cita
  #32  
Antiguo 29-09-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
jajajaja no pues caral

segun veo yo el meollo del asunto esta en el edit y los filtros
mas facil seria (y sigo diciendo creo yo) utilizar otro tipo de artificio
es mis epocas de programar en Fox 2.5 diseñe una rutina muy buena de busqueda, la cual he implementado en delphi tambien
la idea es la siguiente

una Tabla
una grilla
un edit

lo que escribo en el edit, debe buscarlo en la tabla
siempre he sido enemigo de los sistemas que preguntan el criterio de busqueda (quiere buscar opr codigo? quiere buscar por descripcion? quiere buscar por numero de cedula?, quiere buscar por tipo de sangre?, etc)

entonces se me ocurrio lo siguiente

Código Delphi [-]
 
procedure TfrmCatalogoTrabajador.edtSearchChange(Sender: TObject);
var _Position :TBookmarkStr;
begin
  if qryTrabajadores.Locate('KOD', edtSearch.Text, [loPartialKey]) then
    Begin
      _position := qryTrabajadores.Bookmark;
      qryTrabajadores.Sort := 'KOD';
      qryTrabajadores.Bookmark := _position;
      dbgTrabajadores.Show;
    End;
  if qryTrabajadores.Locate('otro', edtSearch.Text, [loPartialKey]) then
    Begin
      _position := qryTrabajadores.Bookmark;
      qryTrabajadores.Sort := 'otro';
      qryTrabajadores.Bookmark := _position;
      dbgTrabajadores.Show;
    End;
  If qryTrabajadores.Locate('Descl', edtSearch.Text, [loPartialKey]) then
    Begin
      _position := qryTrabajadores.Bookmark;
      qryTrabajadores.Sort := 'Descl';
      qryTrabajadores.Bookmark := _position;
      dbgTrabajadores.show;
    End;
  if edtSearch.text <> '' then
    Begin
      Panel4.Visible := True;
      LblSearch.Caption := qryTrabajadoresDESCL.AsString;
    End
  else
    Panel4.Visible := False;
end;

la logica es bastante sencilla (aunque falta mejorar), y añado, que es nua rutina solo de busqueda, no es para filtrar, soy enemigo de los filtros porque en tablas con pocos datos son rapidos, pero en tablas con miles de registros ya no lo son tanto
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #33  
Antiguo 29-09-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Lo que pasa es que cuando quieres ir filtrando poco a poco (por ejemplo los empezados con A), no conozco otra forma que no sea por filtros.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #34  
Antiguo 29-09-2011
Avatar de Darkseratul
Darkseratul Darkseratul is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 58
Poder: 14
Darkseratul Va por buen camino
Red face solo es un detalle pero no se

Cita:
Empezado por oscarac Ver Mensaje
exactamente cual es el problema?
lo que pasa es que tengo un adoconection , adatable, y un datasourse

la tabla tienes tres campos yo tenia la idea de especificar en que campo si hiciera la búsqueda con unos checkbox
con este código

Código Delphi [-]
procedure TFClientes.Edit1Change(Sender: TObject);
begin
  // Siempre se quita el filtro
  datamodule1.tarchivo.Filtered := False;

  // Hacer algo si hay texto
  if (Edit1.Text <> '') then
  begin
    // Crear el filtro
    if CheckBox1.Checked  then
    begin
      datamodule1.tarchivo.Filter := 'Nombre Like ''' + Edit1.Text + '*''';
      datamodule1.tarchivo.Filtered := True
    end
    else if CheckBox2.Checked  then
      begin
      datamodule1.tarchivo.Filter := 'Numero Like ''' + Edit1.Text + '*''';
      datamodule1.tarchivo.Filtered := True
    end
    else
    datamodule1.tarchivo.Filtered := False;
   end;
end;

como podrás darte cuenta todo depende de los checkbox
el error es cuando se usa el checkbox2, me dice caral que se salta el like y por eso no a parece nada en la busqueda

espero explicarme bien y bueno caral ya medio otro ejemplo lo estoy tratando

alguna idea ?????

tu rutina esta muy bien pero no entiendo nada del codigo que has puesto ????? disculpa me ignorante persona
Responder Con Cita
  #35  
Antiguo 29-09-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
no es complicado
mas bien me corrijo

uso un query
una grilla
un edit

si te das cuenta, las instrucciones se repiten

Código Delphi [-]
 
if qryTrabajadores.Locate('KOD', edtSearch.Text, [loPartialKey]) then
    Begin
      _position := qryTrabajadores.Bookmark;
      qryTrabajadores.Sort := 'KOD';
      qryTrabajadores.Bookmark := _position;
      dbgTrabajadores.Show;
    End;

y dice.....
si lo que escribo edtSearch.Text esta en el campo KOD, entonces ubicame en el registro localizado
para que se ejecute tras cada letra digitada, coloco esa instruccion en el evento Onchange del edit

te doy otro consejito.... que lei el otro dia en este mismo foro

sal a la calle relajate unos 20 min. tomate un cafe... si tienes mujer.. metete un polvito, pon tu cabeza en otra cosa y regresa
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #36  
Antiguo 29-09-2011
Avatar de Darkseratul
Darkseratul Darkseratul is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 58
Poder: 14
Darkseratul Va por buen camino
Smile Claro lo tomo con calma

Cita:
Empezado por oscarac Ver Mensaje

te doy otro consejito.... que lei el otro dia en este mismo foro

sal a la calle relajate unos 20 min. tomate un cafe... si tienes mujer.. metete un polvito, pon tu cabeza en otra cosa y regresa
lo se, lo se pero lo que pasa es que ya llevo una semana tratando yo solo de hacer que esto funcione y pues como ya me atore pues pido ayuda a los mejores

muchas gracias por su tiempo amigos

a Caral que es el maestro

oscarac me llevas por un sendero que para mi es oscuro (query) se que se configuran con secuencias SQL lamentablemente no se SQL y mi tirada es primero hacer algo sencillo para ir escalando tendre que a prender SQL mucho antes de lo que esperaba

pero bueno muchas gracias amigos
Responder Con Cita
  #37  
Antiguo 29-09-2011
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
bueno es la curva del aprendizaje
a mi tambien me costo algo de tiempo.. la ventaja es que yo ya venia programando en otros lenguajes y tenia las nociones y las ideas, pero con calma, otra cosa que te puedo decir viendo el ejemplo que pusiste

trata de utilizar al menos en la etapa de aprendizaje, los componentes que vienen con delphi, veo que estas usando Jedi, OJO no estoy diciendo que sea malo, solo que si queremos caminar primero debemos gatear espero se entienda

siempre trata de optimizar tu codigo, si tienes varios if trata de usar case, lee y sobre todo practica
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #38  
Antiguo 29-09-2011
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Pregunto:
El campo Numero tiene que ser numerico ?, no puede ser texto ?.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #39  
Antiguo 29-09-2011
Avatar de Darkseratul
Darkseratul Darkseratul is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 58
Poder: 14
Darkseratul Va por buen camino
Thumbs up Muchas gracias

Cita:
Empezado por oscarac Ver Mensaje

siempre trata de optimizar tu codigo, si tienes varios if trata de usar case, lee y sobre todo practica
gracias por tus consejos uso los Jedi por que en otro foro me los recomendaron supuestamente son para novatos por que te aorran algunas lineas de codigo la verdad fue pura curiosidad

me podrias explicar eso de los case o darme un ejemplo corto
Responder Con Cita
  #40  
Antiguo 29-09-2011
Avatar de Darkseratul
Darkseratul Darkseratul is offline
Miembro
NULL
 
Registrado: feb 2011
Posts: 58
Poder: 14
Darkseratul Va por buen camino
Pues numerico

Cita:
Empezado por Caral Ver Mensaje
Hola
Pregunto:
El campo Numero tiene que ser numerico ?, no puede ser texto ?.
Saludos
lo puse numérico por que van los registros por numero

puse tu ejemplo en practica

Código Delphi [-]
procedure TFClientes.Edit1Change(Sender: TObject);
var
   Filtro : String;
begin
   If (Edit1.Text <> '') then
   begin
      datamodule1.tarchivo.Filtered := False;
      If ComboBox1.Text = 'Nombre' then Filtro := 'Nombre Like '+Edit1.Text
         else If ComboBox1.Text = 'Numero' then Filtro := 'Numero Like '''+ Edit1.Text + '*''';

      datamodule1.tarchivo.Filter := Filtro;
      datamodule1.tarchivo.Filtered := True
   end
   else datamodule1.tarchivo.Filtered := False;
end;

cuando lo pongo en nombre me da este error
argumentos incorrectos, fuera del intervalo permitido o en conflicto con otros

y cuando le pongo en numero me dice
no se puede abrir filtro

de seguro estoy haciendo algo mal pero que sera ???
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
Valores OldValue RicardoNavarro Firebird e Interbase 1 26-04-2007 17:57:54
Envio de valores Roilo PHP 8 19-10-2006 17:10:16
Problemas por sumas de valores grandes CamiloU Varios 4 23-06-2006 00:12:01
regresar valores Genner MS SQL Server 5 03-04-2006 13:55:43
Redondeo de valores JODELSA Varios 1 23-08-2003 18:33:50


La franja horaria es GMT +2. Ahora son las 22:00: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
Copyright 1996-2007 Club Delphi