Socorro!! Filtrar Tabela

Delphi

23/08/2003

Tenho um Banco de Dados onde Tenho alguns Campos como: Cod, Aluno, Sala(SalaUm, Dois, Tres.....) Como Fazer para Filtrar por Sala?
Por Exemplo. Eu gostaria de em um ´Edit´ digitar Sala um: ai aparece em um DBGrid Somente os alunos da Sala UM, Quem poderá me Ajudar?

Agradeco a Ajuda Antecipadamente!


Xadriano

Xadriano

Curtidas 0

Respostas

Xakal

Xakal

23/08/2003

table1.locate(´salaum´,edit1.text,locaseinsensitive,lopartialkey;


GOSTEI 0
Carlosrm

Carlosrm

23/08/2003

Xadriano,

table1.filter := ´Sala = ´+quotedstr(edit1.text);
table1.filtered := true;


Obs: Para evitar erros de digitação, é preferível usar outro componente no lugar do edit. Por exemplo, um combobox com a propriedade items carregada com os nomes das salas existentes. Aí, no evento OnChange, bastará escrever as duas linhas acima.

Se vc usar, por exemplo, o evento OnExit do edit, caso tenha digitado um nome de sala inexistente, seu dbgrid ficará vazio.

Se não ajudou, espero não ter atrapalhado. carlosrm.


GOSTEI 0
Bacalhau

Bacalhau

23/08/2003

Cria um indice para o campo sala, por exemplo AL_SALA.

Quando abrires a tabela faz:

table1.open;
table1.indexname := ´AL_SALA´;

Após digitares a sala que pretendes escreve o seguinte código;

table1.cancelrange; // isto desliga filtragens anteriores
table1.setrangestart;
table1.fieldbyname(´Sala´).asstring := ´SALA_PRETENDIDA´;
table1.setrangeend;
table1.fieldbyname(´Sala´).asstring := ´SALA_PRETENDIDA´;
table1.applyrange;

E ´voilá´ tá pronto!
bacalhau


GOSTEI 0
POSTAR