Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Error en filtro con ComboBox (https://www.clubdelphi.com/foros/showthread.php?t=50284)

Ariel03 13-11-2007 23:29:31

Error en filtro con ComboBox
 
hola soy ariel... les cuento tengo un problema con un cierto pedazo de código y quería ver si me podían guiar en donde podria estar el error. A continuación les pongo el código:

procedure TF_consultaSocio.E_consulta_socioChange(Sender: TObject);
var
Filtro : String;
begin
If (E_consulta_socio.text <> '') then
begin
Modulo.T_socio.Filtered := False;
If C_buscarSocio.Text = 'NºSocio' then
Filtro := 'NºSocio like '''+E_consulta_socio.Text+'*'''
else
If C_buscarSocio.Text = 'DNI' then
Filtro := 'DNI like '''+E_consulta_socio.Text+ '*'''
else
If C_buscarSocio.Text = 'Apellido' then
Filtro := 'Apellido Like '''+E_consulta_socio.Text+ '*''';

Modulo.T_socio.Filter := Filtro;
Modulo.T_socio.Filtered := True;
end
else
Modulo.T_socio.Filtered := False;
end;


bueno lo que hace esto es filtrar una tabla en access con los campos de una persona (NºSocio, DNI, Apellido y demas), lo que hago es seleccionar en el combobox el campo que quiero filtrar y en un edit escribo los datos..
Bueno el problema que tengo es que al filtro por el apellido me lo realiza lo mas bien... pero cuando lo quiero hacer por el NºSocio o el DNI me salta una execepcion diciendo que no se puede abrir el filtro...no se si tendra algo que ver que los campos estén declarados como numericos y el apellido como texto.... pero no creo que sea eso.

bueno si me pueden dar una mano se los agradezco.
Ariel.

BlueSteel 14-11-2007 01:20:25

Hola

Te sugiero que utilices las etiquetas.. así tu codigo será más legible y presentable y quedaria así

Código Delphi [-]
procedure TF_consultaSocio.E_consulta_socioChange(Sender: TObject);
var
Filtro : String;
begin
If (E_consulta_socio.text <> '') then
begin
Modulo.T_socio.Filtered := False;
If C_buscarSocio.Text = 'NºSocio' then
Filtro := 'NºSocio like '''+E_consulta_socio.Text+'*'''
else
If C_buscarSocio.Text = 'DNI' then
Filtro := 'DNI like '''+E_consulta_socio.Text+ '*'''
else
If C_buscarSocio.Text = 'Apellido' then
Filtro := 'Apellido Like '''+E_consulta_socio.Text+ '*''';

Modulo.T_socio.Filter := Filtro;
Modulo.T_socio.Filtered := True;
end
else
Modulo.T_socio.Filtered := False;
end;

BlueSteel 14-11-2007 01:27:49

Respondiendo a tu consulta... revisa este hilo.. ahí puedes encontrar una solución que te sirva

salu2:p


La franja horaria es GMT +2. Ahora son las 01:38:24.

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