Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-06-2011
jose_am jose_am is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 14
Poder: 0
jose_am Va por buen camino
filtrar por combobox

hola amigos, tengo un problema..estoy trabajando en una base de datos en access donde tengo cargado una serie de alumnos con sus respectivos sexos M (masculino) F (femenino) lo qui quiero hacer yo es que a traves de un combo box, donde voy a tener masculino y femenino me filtre (segun lo que yo presione) por masculino o femenino.
Responder Con Cita
  #2  
Antiguo 28-06-2011
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 jose_am.

Suponiendo el ComboBox tiene los Items:
Masculino
Femenino

Sería:
Código Delphi [-]
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  DataSet.Filtered:= False;
  DataSet.Filter:= 'SEXO = '+QuotedStr(ComboBox1.Text[1]);
  DataSet.Filtered:= True;
end;
Donde 'SEXO' sería el nombre del campo que utilices para almacenar 'F' o 'M'.


Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 28-06-2011
jose_am jose_am is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 14
Poder: 0
jose_am Va por buen camino
Funciono perfecto!,muchas gracias!, ahora sacame esta duda..que hiciste o que sinifica esta paso? QuotedStr(ComboBox1.Text[1])
Responder Con Cita
  #4  
Antiguo 28-06-2011
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.

La función QuotedStr devuelve la cadena de caracteres enviada en el argumento, encerrada entre comillas simples.

Por ejemplo:
Código Delphi [-]
  ShowMessage('casa');
Muestra: casa

En cambio:
Código Delphi [-]
  ShowMessage(QuotedStr('casa'));
Muestra: 'casa'

En cuanto a ComboBox1.Text[1], hago referencia al primer caracter del item seleccionado, que en este caso será: Femenino o Masculino

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 28-06-2011
jose_am jose_am is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 14
Poder: 0
jose_am Va por buen camino
perfectoo!, muchas gracias y saludos!
Responder Con Cita
  #6  
Antiguo 28-06-2011
jose_am jose_am is offline
Miembro
NULL
 
Registrado: jun 2011
Posts: 14
Poder: 0
jose_am Va por buen camino
se me complico con otra cosa..tengo que hacer lo mismo pero con un campo booleano..osea tengo la regularidad del alumno por true o false..hago lo mismo que me dijoste pero me da un error que no lo puedo hacer porque es un campo booleano.. se ve que no debe ser igual.
Responder Con Cita
  #7  
Antiguo 28-06-2011
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 jose.

Te pongo dos ejemplos de como podrías hacerlo.

Con un ComboBox, cuyos items sean:
Irregular
Regular
Código Delphi [-]
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  DataSet.Filtered:= False;
  DataSet.Filter:= 'Condicion = '+ IntToStr(ComboBox1.ItemIndex);
  DataSet.Filtered:= True;
end;
Aquí es importante que el alumno no-regular esté en primera posición. Ya que la posición del ítem, mediante la propiedad ItemIndex, es la que dictamina el valor Verdadero/Falso (0=Falso / 1= Verdadero)

Con un CheckBox cuyo caption sea Regular, donde chequeado = regular, en blanco = irregular:
Código Delphi [-]
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  DataSet.Filtered:= False;
  DataSet.Filter:= 'Condicion = '+ IntToStr(Integer(CheckBox1.Checked));
  DataSet.Filtered:= True;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
Filtrar un resultado en DBGRID desde dos combobox ZiriusB OOP 19 06-06-2011 16:04:37
Filtrar un campo en un ComboBox zeta2 Varios 12 02-07-2008 11:17:41
filtrar elementos de base de datos en delphi mediante combobox carlossc90 Tablas planas 3 05-06-2008 22:21:10
Filtrar ADOTable al seleccionar combobox jeysi Varios 3 24-01-2008 09:48:36
Filtrar datos con los Combobox o DBComboBox thecarlos Varios 3 09-01-2004 09:55:15


La franja horaria es GMT +2. Ahora son las 07:25:04.


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