Tengo una Ttabla (Tuniversitario) con los campos IdU, CiU, NombreUniversitario, ApeUniversitario,Sexo.....CarreraUniversitario, PaisDondeEstudia, SemestralizadoAnualizado, etc....
Lo que tengo que realizar es una busqueda a través de una seleccion por decir por medio de un ComboBox, si elijo por decir del ComboBox el campo PaisDondeEstudia, con la informacion de Argentina, Ecuador, Chile, Peru, etc... de ahi elijo por decir Ecuador. En cuanto realice esa seleccion pues quiero que en un DBGrid me aparezca la informacion completa de la Ttabla TUniversitario de todos aquellos que estudian en ese Pais, en este caso Ecuador.
Solo una pauta...lo que quiero es solo me aparezca datos que algo tengan en comun en el ejmplo por medio del Pais Ecuador, mediante el usuario lo seleccione.
Quizas pueda usar RadioButtons (Pais, Semestralizado, Sexo)
Y otros ComboBox(donde pueda estar de cada Radio Buttons sus informaciones, por decir en el combobox Pais este Peru, Brasil, Paraguay...etc. y de ahi solo elijo un Pais X).
Cabe mencionar que Tuniversitario ya tiene toda la informacion, esta con informacion en otro Form.
Estoy usando SQL Server y Delphi.
Alguna idea? Por favor.
Este tipo de Búsqueda me servirá para todo.
Publicado:
Lun Mar 29, 2010 7:17 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Busqueda de campos y mostrar en un DBGrid
Anuncios
Sizne escribió:
Hola!
Tengo una Ttabla (Tuniversitario) con los campos IdU, CiU, NombreUniversitario, ApeUniversitario,Sexo.....CarreraUniversitario, PaisDondeEstudia, SemestralizadoAnualizado, etc....
Lo que tengo que realizar es una busqueda a través de una seleccion por decir por medio de un ComboBox, si elijo por decir del ComboBox el campo PaisDondeEstudia, con la informacion de Argentina, Ecuador, Chile, Peru, etc... de ahi elijo por decir Ecuador. En cuanto realice esa seleccion pues quiero que en un DBGrid me aparezca la informacion completa de la Ttabla TUniversitario de todos aquellos que estudian en ese Pais, en este caso Ecuador.
Solo una pauta...lo que quiero es solo me aparezca datos que algo tengan en comun en el ejmplo por medio del Pais Ecuador, mediante el usuario lo seleccione.
Quizas pueda usar RadioButtons (Pais, Semestralizado, Sexo)
Y otros ComboBox(donde pueda estar de cada Radio Buttons sus informaciones, por decir en el combobox Pais este Peru, Brasil, Paraguay...etc. y de ahi solo elijo un Pais X).
Cabe mencionar que Tuniversitario ya tiene toda la informacion, esta con informacion en otro Form.
Estoy usando SQL Server y Delphi.
Alguna idea? Por favor.
Este tipo de Búsqueda me servirá para todo.
Es bastante "sencillo" si utilizas SQL, con la cláusula "LIKE", como te explicamos en dicho enlace.
Si pones un RadioButton y el usuario selecciona, por ejemplo, "País", en tu consulta SQL harás una comprobación, más o menos como esta:
Código:
nombreQuery.Close;
nombreQuery.SQL.Clear;
nombreQuery.SQL.Add ('Select * from Tuniversitario');
if radioButtonPais.Checked then
begin
nombreQuery.SQL.Add ('where PaisDondeEstudia like :pPais');
nombreQuery.Parameters.ParamByName('pPais').DataType := ftString;
nombreQuery.Parameters.ParamByName('pPais').Value := '%' + nombreEditPais.Text + '%';
end;
if radioButtonSexo.Checked then
begin
nombreQuery.SQL.Add ('where sexo = :pSexo');
nombreQuery.Parameters.ParamByName('pSexo').DataType := ftString;
nombreQuery.Parameters.ParamByName('pSexo').Value := nombreEditSexo.Text;
end;
nombreQuery.Open;
Más o menos sería como te hemos explicado. Como siempre no me canso de repetir que es una guía, no te coincidirán los campos ni los nombres de las tablas.
En el ejemplo anterior te he puesto dos casos:
* Para el país he puesto un "like", esto lo que hace es que si el usuario en el formulario pone "pa" (por ejemplo), buscará todos los registros cuyo campo "PaisDondeEstudia" lleve la palabra "pa", dará igual en qué posición, con lo cual mostraría tanto los de "Paraguay", como los de "España". Para esto hay que utilizar un "like" y pasarle al texto unos comodines "%".
* Para el sexo te he puesto como ejemplo un "=" esto hace que te muestre, si pones "Masculino" sólo los registros que lleven en el campo "sexo" el valor "Masculino".
Por supuesto, si quieres, puedes "acumular" filtros, es decir, podrías hacer que te mostrase los que sean de "Perú" y "Masculino", algo tan sencillo como:
Código:
...
nombreQuery.SQL.Add ('where PaisDondeEstudia like :pPais or sexo = :pSexo');
...
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A