GARANTIR DESCONTO

Fórum Socorro!! Filtrar Tabela #177096

23/08/2003

0

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

Responder

Posts

23/08/2003

Xakal

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


Responder

Gostei + 0

23/08/2003

Carlosrm

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.


Responder

Gostei + 0

24/08/2003

Bacalhau

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


Responder

Gostei + 0

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

Aceitar