Fórum MasterSource #237376

11/06/2004

0

Galera!!

Graças aos colaborados deste fórum, conseguir resolver um problemão na parte da manhã.
Resumindo o problema, a solução foi ligar uma tabela (IBTable) com a consulta (IBSQL) para que a consulta apontasse o registro encontrado na tabela. Tudo perfeito!!!

Bom. Fui fazer o mesmo em outra tela. Está funcionando. O problema é que a grid que mostra todos os dados da tabela, só me mostra o valor consultado. Gostaria de saber se tem como desativar e ativar este link em tempo de execução?

Tentei data.ibtturma.mastersource.enabled:=false; e não deu certo.

Valeu a força.

JR.


Jrjoliv2003

Jrjoliv2003

Responder

Posts

11/06/2004

Xanatos

Bom! por isso que te mostrei o exemplo usando o IBtable.Filter pois assim voce só filtraria a tabela na hora de editar!!! e depois filtered:= false e pronto!!! a tabela mostraria tudo!!!

O que voce poderia fazer é em vez de colocar o mastersource na ibtable, voce atualizaria usando a propria IBsql e daria um .refresh na ibtable! o que acha?

:idea:


Responder

Gostei + 0

11/06/2004

Jrjoliv2003

Xanatos, tudo certo?

Cara...

Eu não consegui usar o Filter por isso não fiz!!!

E segunda parte que vc explicou (Refresh) não entendi.

Rapaz, são tantas dúvidas pq sou novato em Delphi. O q aprendi, aprendi sozinho ou com o fórum. A GALERA ajuda muito.

Valeu a força!!

JR.


Responder

Gostei + 0

11/06/2004

Xanatos

Bom o filter é uma filtragem que fica ativa se a propriedade filtered for true

e voce monte ela de maneira mais simples que sql, voce coloca o nome do campo = valor and campo2=valor ... assim! faça um teste simples ... coloca algum campo = alguma coisa no filter e abre tua tabela! pode ser util pra voce!

qto ao refresh seria se voce usasse o IBsql para atualizar o registro! em vez de usar a ibtable pois voce teria todos os parametros e seus valores e só usaria:

UPDATE TABLE SET OBS=:PAROBS WHERE TURMA=:TURMA AND MATERIA=:MATERIA AND AULA=:AULA;

daria um ExecQuery e depois dava um refresh na table!

:idea: espero que agora consiga!


Responder

Gostei + 0

11/06/2004

Jrjoliv2003

Beleza!!! O Filter tá funcionando com um só. Se eu coloco outro parâmetro ele dá erro. Por favor, veja se tem alguma coisa errada no código:

data.IBTHis.Filter:=´HIS_TURMA = ´ + Quotedstr(dblookupcombobox2.Text) and ´HIS_Modulo = ´ + Quotedstr(dblookupcombobox1.Text);

Quotedstr eu peguei desse artigo:
Table1.Filter := ´Nome = ´´´+ Edit1.Text + ´´´´;
ou
Table1.Filter := ´Data = ´´´ + DateToStr(Date) + ´´´´;

Tente usar este:

Table1.Filter := ´Nome = ´ + QuotedStr(Edit1.Text);
ou
Table1.Filter := ´Data = ´ + QuotedStr(DateToStr(Date));

Valeu!!

JR.


Responder

Gostei + 0

12/06/2004

Jrjoliv2003

Galera!! O código é esse!!!

Resolvidoooooooooooooooooooo!!!!!!!!!


data.IBTHis.Filter:=´HIS_TURMA = ´ + Quotedstr
(dblookupcombobox2.Text)+´ and HIS_Modulo = ´ + Quotedstr
(dblookupcombobox1.Text);


JR.


Responder

Gostei + 0

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

Aceitar