Delphi - combobox

 
Vista:

combobox

Publicado por franklin (32 intervenciones) el 14/10/2008 19:12:18
Buenas necesito ayuda para programar un combobox, estoy haciendo un programita de cactura de datos, lo que acontece es que quiero poner un combobox para realizar la busqueda, ej. por nombres y/o apellidos y lo quiero hacer por este medio.

me ayudan por favor.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 65
Oro
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

RE:combobox

Publicado por E.T. (1244 intervenciones) el 14/10/2008 23:36:00
Suponiendo que en tu combo box tuvieras estos valores, en el orden en que los pongo
Nombre
Nombre/Apellidos
Apellidos

Codigo dentro de un botón, por ejemplo:

Query1.close;
Query1.SQL.Clear;
Query1.SQL.Add('Select * from tabla Where 1=1');
If ComboBox1.ItemIndex in [0,1] then
Query1.SQL.Add('AND nombre = '+QuotedStr(EditNombre.text));
if ComboBox.ItemIndex in[1,2] then
Query1.SQL.Add('AND Apellido = '+QuotedStr(EditApellido.text));
Query1.Open;

Bien, si en el combo box, está seleccionada la primera opción te va a incluir el nombre en la búsqueda, si el combobox está en la segunda opción te busca por nombre y apellido, si está en la tercera solo te busca apellido, esta búsqueda solo te encuentra campos en que esté el nombre o apellido completo, si quieres que la busqueda sea por partes del nombre o apellido intenta lo siguiente

Query1.close;
Query1.SQL.Clear;
Query1.SQL.Add('Select * from tabla Where 1=1');
If ComboBox1.ItemIndex in [0,1] then
Query1.SQL.Add('AND nombre Like '+QuotedStr(EditNombre.text+'%'));
if ComboBox1.ItemIndex in[1,2] then
Query1.SQL.Add('AND Apellido Like '+QuotedStr(EditApellido.text+'%'));
Query1.Open;

La consulta anterior te busca el nombre o apellido que empiece con el texto que hay en el edit, otra variante es la siguiente

Query1.close;
Query1.SQL.Clear;
Query1.SQL.Add('Select * from tabla Where 1=1');
If ComboBox1.ItemIndex in [0,1] then
Query1.SQL.Add('AND nombre Like '+QuotedStr('%'+EditNombre.text+'%'));
if ComboBox1.ItemIndex in[1,2] then
Query1.SQL.Add('AND Apellido Like '+QuotedStr('%'+EditApellido.text+'%'));
Query1.Open;

Esta consulta, busca en el nombre o apllido el texto de los edit, sin importar donde se encuentre, un ejemplo:
Si tienes estos nombres:
antonio, jose, pedro, armando, luis, ivan, ana, david
Y en el editNombre le pones: an
te va a regresar
antonio, armando, ivan, ana
Pues esto nombres contienen la cadena "an", sin importar donde está la cadena, y la consulta anterior solo te regresaría
antonio, ana, pues empiezan con la cadena "an"

NOTA: estos ejemplos distinguen de mayúsculas y minúsculas
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:combobox

Publicado por franklin (32 intervenciones) el 15/10/2008 00:07:49
El problemas es que estoy empezando en la programacion y la tabla que esoy utilizando es de access pueden ayudarme a trasladar estoy codigo para trabajar con mi tabla.???
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 65
Oro
Ha mantenido su posición en Delphi (en relación al último mes)
Gráfica de Delphi

RE:combobox

Publicado por E.T. (1244 intervenciones) el 15/10/2008 02:33:57
Crea una conexión de ODBC que apunte hacia tu Base de datos de acces, luego en delphi, agregas un query, está en la paleta DBE o BDE, no recuerdo como se llama, y en las propiedades del query busca dataBase, y ahí selecciona el nombre que le diste a tu ODBC, y puedes ejecutar ya el codigo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:combobox

Publicado por franklin (32 intervenciones) el 23/10/2008 19:16:24
LO HE REALIZADO TODO TAL CUAL ME DICES Y ME DA UN ERRO, E INCLUSO LE PUSE UN 1.

POR FAVOR AYUDAME.

[Error] Unit2.pas(83): Undeclared identifier: 'Edit1Nombre'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:combobox

Publicado por HEP (1 intervención) el 01/04/2009 17:06:02
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooHEP
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar