Hola.
Cita:
|
el problema es el campo codigo que es integer, probe colocar el AdoTable1 (que es que esta asociado con la tabla propietarios).Filter: 'DNI ='dato; pero me salta un error de "Parametros Incorrectos, fuera del intervalo permitido o en conflicto con otros'.
|
Como te comenté en el mensaje
#6:
Cita:
|
Si se trata de campos alfanuméricos la función que te puse en el mensaje anterior funciona perfectamente. De tratarse de campos numéricos, tendrás que filtrar por >, <, = ,>=, <=.
|
Cita:
En el siguiente codigo, ocurre el mismo error:
Código Delphi [-]
procedure TForm7.FormActivate(Sender: TObject);
begin
propietario:= Tclasepropietario.Create;
propietario.conectaBD;
propietario.ConectaTabla(1);
ADOTable1.Filtered:= True;
ADOTable1.Filter:='BORRADO LIKE FALSO';
DataSource1.DataSet := ADOTable1;
end;
|
En el caso de ser un campo lógico también se tiene que accionar de forma diferente:
Código Delphi
[-]
procedure TForm1.FilterLogical(const FName: string; const Value: Boolean);
const
COND : array[Boolean] of string =('''False''','''True''');
begin
with ADOTable1 do
begin
Filtered := False;
Filter := Format('%s= %s',[FName, COND[Value]]);
Filtered := True;
end;
end;
...
begin
FilterLogical('Borrado', True);
...
Creo que debes profundizar un poco mas sobre el tema de los filtros.
En el FTP de
Club Delphi se encuentra un libro de descarga gratuita en el que se explica cláramente:
La cara oculta de Delphi 4 (Capítulo 20).
Saludos.
