accept dificil
procedure TForm7.Table1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
var
dia : double;
begin
Accept := false;
dia := Table1renda.Value;
if dia >= 1 then
Accept := True;
end;
estou tentando jogar o valor do campo calculado renda para a variavel dia e depois fazer o filtro e esta aparecendo tudo vazio o que esta errado
var Accept: Boolean);
var
dia : double;
begin
Accept := false;
dia := Table1renda.Value;
if dia >= 1 then
Accept := True;
end;
estou tentando jogar o valor do campo calculado renda para a variavel dia e depois fazer o filtro e esta aparecendo tudo vazio o que esta errado
Fama
Curtidas 0
Respostas
Maicongabriel
19/01/2004
Tente acessar corretamente, sem typecast, indicando os tipos de dado, etc...
procedure TForm7.Table1FilterRecord(DataSet: TDataSet; var Accept: Boolean); begin if Table1.FieldByName(´renda´).AsInteger >= 1 then Accept := True else Accept := False; end;
GOSTEI 0
Luineumann
19/01/2004
o problema esta que ele apenas calcula o campo apos ter filtrado o mesmo
vc terá que simular o calculo do campo no onFilter Record
fiz um teste da seguinte maneira
tabela1 com o campo saldo (dado) e o saldocalc (calculado)
procedure TForm1.tb1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
Accept := tb1Saldocalc.value > 1;
end;
procedure TForm1.tb1CalcFields(DataSet: TDataSet);
begin
tb1SaldoCalc.Value := tb1Saldo.Value / 100;
end;
ao selecionar não selecionou nada
agora se fizer
procedure TForm1.tb1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
Accept := (tb1Saldo.value / 100) > 1;
end;
vc terá que simular o calculo do campo no onFilter Record
fiz um teste da seguinte maneira
tabela1 com o campo saldo (dado) e o saldocalc (calculado)
procedure TForm1.tb1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
Accept := tb1Saldocalc.value > 1;
end;
procedure TForm1.tb1CalcFields(DataSet: TDataSet);
begin
tb1SaldoCalc.Value := tb1Saldo.Value / 100;
end;
ao selecionar não selecionou nada
agora se fizer
procedure TForm1.tb1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
Accept := (tb1Saldo.value / 100) > 1;
end;
GOSTEI 0
Fama
19/01/2004
o problema esta que ele apenas calcula o campo apos ter filtrado o mesmo
vc terá que simular o calculo do campo no onFilter Record
fiz um teste da seguinte maneira
tabela1 com o campo saldo (dado) e o saldocalc (calculado)
procedure TForm1.tb1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
Accept := tb1Saldocalc.value > 1;
end;
procedure TForm1.tb1CalcFields(DataSet: TDataSet);
begin
tb1SaldoCalc.Value := tb1Saldo.Value / 100;
end;
ao selecionar não selecionou nada
agora se fizer
procedure TForm1.tb1FilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
Accept := (tb1Saldo.value / 100) > 1;
end;
mas o campo em que eu acho a renda é tambem um campo calculado com a somatorio de todos os proventos e achando assim sua poecentagem (renda ,imposto de renda).
GOSTEI 0