Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-05-2012
miguelgalindo87 miguelgalindo87 is offline
Miembro
NULL
 
Registrado: may 2012
Posts: 22
Poder: 0
miguelgalindo87 Va por buen camino
Realizar busqueda en firebird

Saludos a todos. Estimados recurro a Uds una vez mas por lo siguiente, tengo una tabla en firebird 2.5, y quiero realizar dos tipos de busqueda: El primero por el codigo(campo clave) y el segundo es por nombre de producto.
Lo que les pido es, si tienen, algun codigo que me permita realizar estas funciones

Muchas gracias a todos
feliz dia!
Responder Con Cita
  #2  
Antiguo 31-05-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola miguel.

¿ Que componentes estás utilizando para conectarte a Firebird ?

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 31-05-2012
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Poder: 23
maeyanes Va por buen camino
Hola...

Para buscar por un código haces algo como:

Código SQL [-]
select * from Tabla where Codigo = 'Valor'

Para el nombre del producto, haces algo similar:

Código SQL [-]
select * from Tabla donde Nombre = 'Valor'

Ahora, si te explicas de mejor forma, tal vez se te pueda ayudar mejor. Recuerda, mientras más detalles tu duda, mejor será la ayuda recibida...


Saludos...
__________________
Lee la Guía de Estilo antes que cualquier cosa. - Twitter
Responder Con Cita
  #4  
Antiguo 31-05-2012
miguelgalindo87 miguelgalindo87 is offline
Miembro
NULL
 
Registrado: may 2012
Posts: 22
Poder: 0
miguelgalindo87 Va por buen camino
Ok aqui te explico mas claramente (me disculpo por mis continuas novatadas)
Estoy utilizando en un DataModule mi IBDataBase, IBTable e IBTransaction
y en el formulario un IBQuery enlazado con el DataModule
estos componentes funcionan correctamente...
Ahora lo que quiero hacer es lo siguiente programar en un boton "Buscar" (o dos botones) que me de dos opciones
1)buscar por el campo clave "Codigo" y me muestre solo el registro correspondiente en una serie de DBEdits que tengo.

2)buscar por el nombre del producto, en este caso que me muestre por ejemplo todos los productos cuyos nombre comienzan con la palabra "pan"(ejemplo) en el DBGrid.

gracias por su ayuda

Última edición por miguelgalindo87 fecha: 31-05-2012 a las 22:43:33.
Responder Con Cita
  #5  
Antiguo 31-05-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola miguel.

Como primera medida te aconsejo que en lugar de TIBTable utilices TIBDataSet. En este artículo vas a encontrar mucha información interesante sobre los componentes IBX.

Volviendo a tu consulta, con un IBTable podrías hacer:
Código Delphi [-]
procedure TForm1.btnBuscarCodigoClick(Sender: TObject);
begin
  IBTable1.Locate('CODIGO',EditCodigo.Text,[])
end;

procedure TForm1.btnNombreClick(Sender: TObject);
begin
  IBTable1.Filtered:= False;
  IBTable1.Filter:= 'NOMBRE LIKE '+ QuotedStr(EditNombre.Text +'%');
  IBTable1.Filtered:= True;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 31-05-2012
Avatar de Cañones
Cañones Cañones is offline
Miembro
 
Registrado: ene 2007
Ubicación: La Paz Entre Ríos
Posts: 354
Poder: 18
Cañones Va por buen camino
Creo que el query en el formulario está de más, debería estar en el datamodule y enlazado conun datasource. Pero va en gustos.

Yo lo que hago es esto.
- En el form creo una property string y voy recolectando todos los códigos que quiero buscar. Entonces en un tdblookupcombobox muesto los nombres y en otro los códigos. Los dos tdblookupcombobox me devuelven los códigos.
- Despues que termino de recolectar los paso como parámeto a un procedimiento en el datamodule y hago la búsqueda.

Código Delphi [-]
procedure TdmHorarios.filtrarPersonal(lasPersonas: string);
  var   elSQL: string;
  begin
  // filtro el personal para generar el reporte de  HH.EE.  

  elSQL:='AND P.IDPERSONA IN ('+lasPersonas+')';  
  // la consulta que necesito ya está cargada en el dataset y acá agrego los rengónes necesarios para filtrarla

  zroqPersonal.close;  

  zroqPersonal.SQL.Add(elSQL);
   zroqPersonal.Open;
  end;

- En un dbgrid enlazado al datasource y este enlazado al dataset se muestran los resultados de la búsqueda.


Espero te sirva.
No dudes en repreguntar.
Saludos.

Última edición por Cañones fecha: 31-05-2012 a las 23:29:50. Razón: Acomodé la etiqueta
Responder Con Cita
  #7  
Antiguo 31-05-2012
miguelgalindo87 miguelgalindo87 is offline
Miembro
NULL
 
Registrado: may 2012
Posts: 22
Poder: 0
miguelgalindo87 Va por buen camino
Muchisimas gracias por sus aportes los voy a probar y luego les aviso los resultados que obtuve

feliz dia y gracias a todos
Responder Con Cita
  #8  
Antiguo 01-06-2012
miguelgalindo87 miguelgalindo87 is offline
Miembro
NULL
 
Registrado: may 2012
Posts: 22
Poder: 0
miguelgalindo87 Va por buen camino
Saludos a todos una vez mas gracias por tomarse la molestia de ayudarme
Probe con el metodo de Eficsa para buscar por el codigo y da el resultado deseado en los TDBEdits, me muestra todo el registro correspondiente a ese codigo , lei el material que me recomendaste muy bueno tambien y cambie mi TIBTable por un TIBDataSe t como me recomendo cañones

Pero como siempre hay un detalle, en la busqueda por nombre no me muestra ningun registro relacionado con la busqueda en TDBGrid...simplemente la lista completa que aparece dado que no tengo el DataSet cerrado antes de buscar..

Debo cerrar/abrir al realizar la busqueda?
Debo utilizar otro DataGrid para mostrarla?

que me recomiendan?
de antemano muchas gracias
saludos a todos

cañones disculpame el abuso pero no tendras otro metodo para usuarios menos avanzados? es que ese me parecio muy experimentado para mis conocimientos
Responder Con Cita
  #9  
Antiguo 01-06-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Miguel.

Cita:
Debo cerrar/abrir al realizar la busqueda?
Debo utilizar otro DataGrid para mostrarla?
La respuesta a la primera pregunta es sí y no necesariamente a la segunda

Un ejemplo con TIBDataSet:
Código Delphi [-]
procedure TForm1.Edit1Change(Sender: TObject);
begin
  IBDataSet1.Close;
  IBDataSet1.SelectSQL.Text:= 'SELECT * FROM PRODUCTOS WHERE NOMBRE LIKE :BUSCADO';
  IBDataSet1.ParamByName('BUSCADO').AsString:= Edit1.Text+'%';
  IBDataSet1.Open;
end;
Tomá en cuenta que en este caso la cadena SQL que originalmente le asignaste a la propiedad SelectSQL es reemplazada por cada nueva asignación.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 01-06-2012 a las 23:05:08. Razón: correción ortográfica
Responder Con Cita
  #10  
Antiguo 01-06-2012
miguelgalindo87 miguelgalindo87 is offline
Miembro
NULL
 
Registrado: may 2012
Posts: 22
Poder: 0
miguelgalindo87 Va por buen camino
Ecfisa mil y un millon mas de gracias! este codigo lo hace perfectamente
lo adpate a la entrada por InputBox y queda aun mas genial!!

saludos y exitos!
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
Realizar una busqueda en php (dreamweaver) ledesma78 PHP 4 07-11-2008 15:15:54
Realizar Busqueda en la BD knnibal Conexión con bases de datos 10 02-11-2008 20:26:54
realizar busqueda con un SP fedelphi Firebird e Interbase 5 29-11-2006 21:28:25
realizar busqueda e insertar? danytorres Varios 3 12-07-2005 23:12:19
realizar busqueda en paradox phoenix Tablas planas 3 09-06-2003 22:59:59


La franja horaria es GMT +2. Ahora son las 11:03:25.


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