Grrrr.... Alguem ae me ajuda

13/02/2003

0

Ae galera. to com um probleminha no Table1.setKey

Table1.setKey;
Table1.fieldByName(´descricao´).asString := edit1.text;
if table1.gotoKey then showmessage(´achou´);

Isso teria que dar certo, só que ele fala que o Table1 nao ta em Edit ou Insert mode...

Porque ??


Nildo

Nildo

Responder

Posts

13/02/2003

Navoid

cara tu tais tentado mudar o conteudo de um campo
por isso ele dá a mensagem
eu num sei o que faiz o setkey e o gottokey, só sei que pra alterar o valor de um campo vc tem que estar inserindo ou editando um registro.

até


Responder

13/02/2003

Mecq_clayton

Well não sei bem se ajuda mas tente subustituir a linha abaixo:

Table1.setKey;

por:

Table1.EditKey;

Por favor poste no forúm caso funcione.


Responder

13/02/2003

Nildo

o SetKey dubstitue o Edit ou Insert.

O SetKey abilita o modo pesquisa no TTable.
Conforme voce atribue o FieldByname como um valor, ele pesquisa de acordo com o valor que voce atribuiu no FieldByname.

o GotoKey retorna true se posiciona no registro correspondente ao da pesquisa.
o GotoNearest vai para o mais próximo do registro.

Concluindo, eu nao to tentando mudar o conteudo. Isto faz parte da pesquisa.

Da um F1 em cima da palavra setKey no delphi e veja no Exemplo!


Responder

13/02/2003

Nildo

mac_kleyiton...

deu o mesmo erro na hora da atribuicao de valores


Responder

13/02/2003

Mecq_clayton

Well BINGO tenta ai:

Table1.EditKey;
Table1.setKey;
Table1.fieldByName(´Name´).asString := edit1.text;
if table1.gotoKey then
begin
showmessage(´achou´);
end;

Poste no forúm os resultados.


Responder

14/02/2003

Mecq_clayton

Well ai funcionou?


Responder

14/02/2003

Nildo

Mesmo erro. Ele da o mesmo erro na hora da atribuição


Responder

14/02/2003

Rosset

Table1.IndexFieldNames:=´Codigo´; //indexa a table pelo campo codigo
Table1.SetKey; //coloca em modo de pesquisa
if FindKey([eCodigo.text]) then
begin
eCodigo.text:= Table1.FieldByName(´Codigo´).AsString;

e assim por diante !!!


Responder

14/02/2003

Nildo

Valew rosset. vou testar...

Mas e se eu quiser procurar o campo que o ´codigo´ for eCodigo.text e a ´descricao´ for eDescricao.text ?


Responder

14/02/2003

Anonymous

Table1.IndexFieldNames:=´Codigo´; //indexa a table pelo campo codigo
Table1.SetKey; //coloca em modo de pesquisa
if FindKey([eCodigo.text]) then
begin
eDescricao.text:= Table1.FieldByName(´Descricao´).AsString;

e assim por diante !!!

ISSO??


Responder

14/02/2003

Nildo

Queria procurar o registro que o campo DESCRICAO for ´Teste´ e que o campo NOME for ´Nome do produto´


Responder

14/02/2003

Anonymous

Table1.IndexFieldNames:=´NomeDoProduto´; //indexa a table pelo campo codigo
Table1.SetKey; //coloca em modo de pesquisa
if Table1.FindKey([eProduto.text]) then
if Table1.Locate(eDescricao.text,Table1.FieldByName´Descricao´).AsString;
begin
eDescricao.text:= Table1.FieldByName(´Descricao´).AsString;
//outras linhas
end;

SÓ NÃO SEI SE A LINHA DO LOCATE É BEM ASSIM MAS É +- ASIMM..


e assim por diante !!!

ISSO??


Responder

14/02/2003

Mecq_clayton

Ué eu fiz um exemplo aqui e funcionou com as linha que eu te mandei!!!!


Responder

14/02/2003

Nildo

meq_cleyiton, eu me lembrei agora que nao estou utilizando índice hehehe
to com problemas no meu locate. da uma olhada no tópico Problemas com Locate

valew


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar