Erro usando Filter!!!
Estou usando o Firebird!!! Como administrador uso o IBOConsole!!! Como componentes uso a palheta InterBase!!! Sendo assim:
Estou com alguns problemas!!! Coloquei uma IbTable de nome IbAgenda (A tabela foi inserida no formulário, enquanto o DataBase e o Transaction eu coloquei numa DataModule).
Aí no evento OnShow do Form, coloquei o seguinte código:
IbAgenda.Open;
IbAgenda.Filter := ´Estado = ´´Pendente´´´;
Porém parece que não funciona e é apresentado o seguinte erro:
EIBInterbaseError
Dynamic SQL Error
SQL Error Code = -206
Column unknown
ESTADO
At Line 2, column 8
Como posso resolver este erro.. Há outra forma de usar a propriedade TFilter???
Obs: Eu usava o Paradox e estou migrando para Firebird!!!
Estou com alguns problemas!!! Coloquei uma IbTable de nome IbAgenda (A tabela foi inserida no formulário, enquanto o DataBase e o Transaction eu coloquei numa DataModule).
Aí no evento OnShow do Form, coloquei o seguinte código:
IbAgenda.Open;
IbAgenda.Filter := ´Estado = ´´Pendente´´´;
Porém parece que não funciona e é apresentado o seguinte erro:
EIBInterbaseError
Dynamic SQL Error
SQL Error Code = -206
Column unknown
ESTADO
At Line 2, column 8
Como posso resolver este erro.. Há outra forma de usar a propriedade TFilter???
Obs: Eu usava o Paradox e estou migrando para Firebird!!!
Codecman
Curtidas 0
Respostas
Afarias
24/03/2005
Se não me engano a propriedade FILTER não funciona nos componentes IBX (não funciona com IBQuery por exemplo) -- vc deve usar o evento OnFilterRecord
Mas, já q vc está migrando de um Gerenciador de Arquivos (Paradox) para um Sistema de Gerenciamento de Bancos de Dados (Firebird) é bom vc estudar um pouco sobre os SGBD.
Por exemplo, vc *nunca* deve usar TABLES com SGBDs -- vc deve usar Querys com ´filtro´ no SQL, ex:
supondo q vc tenha um IBQuery de nome IBQueryAgenda com o seguinte comando na propriedade SQL:
SELECT * FROM AGENDA WHERE ESTADO = :EST
então vc pode ter um código na forma:
IBQueryAgenda.Close;
IBQueryAgenda.ParamByName(´EST´).AsString := ´Pendente´;
IBQueryAgenda.Open;
T+
Mas, já q vc está migrando de um Gerenciador de Arquivos (Paradox) para um Sistema de Gerenciamento de Bancos de Dados (Firebird) é bom vc estudar um pouco sobre os SGBD.
Por exemplo, vc *nunca* deve usar TABLES com SGBDs -- vc deve usar Querys com ´filtro´ no SQL, ex:
supondo q vc tenha um IBQuery de nome IBQueryAgenda com o seguinte comando na propriedade SQL:
SELECT * FROM AGENDA WHERE ESTADO = :EST
então vc pode ter um código na forma:
IBQueryAgenda.Close;
IBQueryAgenda.ParamByName(´EST´).AsString := ´Pendente´;
IBQueryAgenda.Open;
T+
GOSTEI 0
Codecman
24/03/2005
Isso quer dizer que para qualquer form, seja de um simples cadastro até pesquisas e exibição de relatórios, eu tenho que trocar as IbTables por IbQuerys?
Valeu!!!
Valeu!!!
GOSTEI 0
Afarias
24/03/2005
´Idealmente´
T+
T+
GOSTEI 0