GARANTIR DESCONTO

Fórum Erro ao filtrar registros. #264493

07/01/2005

0

Bom dia pessoal,

estou com problema na hora de fazer o filtro nos meus resgistros, estou usando banco de dados MySQL e uso o componente ZEOS.

o erro é o seguinte:
[color=red:4548446fb2]
ERangeError with message : ´Range Check Error´.[/color:4548446fb2]


O que acontece, tenho um combo box que recebe os valores a serem filtrados e a medida que o usuário seleciona as opções ele vai mostrando os registros.

o codigo é este:
  with qryPedido do
  begin
    with cbExibir do
    begin
      if ItemIndex = 0 then
        Filtered := False
      else
        Filter := qryPedidoTipo.FieldName + ´ = ´ + Items[ItemIndex];
    end; 
  end;


Mais uma pergunta, por acaso o filtro aceita códigos em SQL?


Douglasf

Douglasf

Responder

Posts

07/01/2005

Douglasf

sobe


Responder

Gostei + 0

10/01/2005

Douglasf

Sobe


Responder

Gostei + 0

10/01/2005

Massuda

o erro é o seguinte: [color=red:9bfcdc4002] ERangeError with message : ´Range Check Error´.[/color:9bfcdc4002] [...] o codigo é este:
  with qryPedido do
  begin
    with cbExibir do
    begin
      if ItemIndex = 0 then
        Filtered := False
      else
        Filter := qryPedidoTipo.FieldName + ´ = ´ + Items[ItemIndex];
    end; 
  end;

Experimente testar se ItemIndex < 0 (nenhum item selecionado no combobox) antes de atribuir um valor a Filter.

Mais uma pergunta, por acaso o filtro aceita códigos em SQL?

Acho que não, mas dê uma olhada na ajuda do Delphi sobre a propriedade Filter do TDataSet para ver exemplos expressões válidas para filtro.

Uma outra coisa... se qryPedidoTipo é um campo string, então seu filtro deveria ser:
Filter := qryPedidoTipo.FieldName + ´ = ´´´ + Items[ItemIndex] + ´´´´;



Responder

Gostei + 0

10/01/2005

Douglasf

Muito obrigado pela resposta,

infelizmente não resolveu mas consegui encontrar a origem do problema só falta resolver.

Pelo que me parece o problema esta com a [color=red:c52bb2327e]Query[/color:c52bb2327e], pois fiz todos os testes com [color=red:c52bb2327e]cbExibe(ComboBox)[/color:c52bb2327e], olhei os valores que o I[color=red:c52bb2327e]tems[ItemIndex] e o ItemIndex[/color:c52bb2327e] me retornou e esta corretíssimo.


Responder

Gostei + 0

10/01/2005

Massuda

Achava que o problema era com o combobox... não tenho idéia de qual problema possa ter na sua query. Em qual linha do seu código o Delphi está mostrando a exceção?


Responder

Gostei + 0

10/01/2005

Douglasf

Filter := qryPedidoTipo.FieldName + ´ = ´ + ´´´´ + Items[ItemIndex] + ´´´´;


Responder

Gostei + 0

10/01/2005

Massuda

Nessa linha...
Filter := qryPedidoTipo.FieldName + ´ = ´ + ´´´´ + Items[ItemIndex] + ´´´´;
Posso estar enganado, mas a única coisa que pode gerar o ERangeError é o combobox... Só para verificar se o problema é no combobox, experimente testar assim:
if (ItemIndex >= 0) and (ItemIndex < Items.Count) then begin
  Filter := qryPedidoTipo.FieldName + ´ = ´ + ´´´´ + Items[ItemIndex] + ´´´´;
end else
  ShowMessage(´ItemIndex fora de faixa!´);



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar