ultimo registro

Delphi

27/08/2003

como gravar um registro no final do arquivo da tabela??
ex: tenho uma tabela1, onde a matricula é a chave:
na tabela aparece assim:
matricula
01/01
01/02
03/01
03/02
06/03
quando gravo um registro novo ex: 01/03 a tabela fica assim:
01/01
01/02
01/03 (ultimo registro gravado)
03/01
03/02
06/03
so que eu quero que ele fica no final da tabela.
por favor me ajudem!!!
obrigada


Betedteixeira

Betedteixeira

Curtidas 0

Respostas

Machado

Machado

27/08/2003

Crie um indice primário ex.

sua tabela

codigo +
descricao

ficando assim

01 01/03
02 01/01
03 01/02
04 03/01
05 03/02
06 06/03

cada vez que você gravar um registro a seguencia será sempre a proxima respeitando os números anteriores ok.
você não precisa mostrar o codigo falow.

estepero ter te ajudado.


GOSTEI 0
Betedteixeira

Betedteixeira

27/08/2003

desculpe, mas acho que nao entendi:
a tabela que estou usando é em Paradox, criei um indice codigo + descriçao, só que nao funcionou, ele continua gravando naquela sequencia que te falei..
tem mais alguma sugestao?
obrigada


GOSTEI 0
4_olho

4_olho

27/08/2003

Bete

Você não está confundindo o que está gravando com o que está exibindo?

Para ter certeza, no Delphi, crie uma pequena aplicação que no pressionar de um botão exiba o último registro.

No evento onclick do botão faça algo como :
SuaTabela.Last;
dbedit1.text:=SuaTabelacodigo.asstring;


GOSTEI 0
Biscoitorfa

Biscoitorfa

27/08/2003

Voce deve estar usando o comando Insert
tabela.Insert;
e depois Tabela.Post;

Usa Tabela.Append;
e depois Tabela.Post;


GOSTEI 0
Machado

Machado

27/08/2003

desculpe, mas acho que nao entendi: a tabela que estou usando é em Paradox, criei um indice codigo + descriçao, só que nao funcionou, ele continua gravando naquela sequencia que te falei.. tem mais alguma sugestao? obrigada


Você lembra que na hora de criar o banco de dados existem o campo type é lá que você vai colocar o sinal ´+´ do codigo ok.
na sua aplicação quando for inserir um novo registro coloque assim

table1.append;
..
..
..
table1.post;

se você não conseguir me manda um e-mail que eu te mando um banco de dados. falow.


GOSTEI 0
Vander Batista

Vander Batista

27/08/2003

faça assim:


use componente de query

TRY
Tabela.Last;
If Tabela.EOF then
begin
Post;
end;
EXCEPT
ShowMessage(´Não é o fim da tabela!!!! Erro ao executar a operação´) ;
END;



Teste esse código

Vander Batista


GOSTEI 0
Bacalhau

Bacalhau

27/08/2003

betedteixeira, na realidade ele fica no fim da tabela, só é representado de acordo com a ordem que lhe foi dada.

Essa ordem pode ser através de um indice primário ou secundário. Em qualquer dos casos reestrutura a tabela: coloca no primeiro campo o nome ´Linha´ (ou outra coisa qualquer) do tipo AutoIncrement. O melhor é defini-lo como indice primário.

Antes de visualizar o resultado coloca a linha

table.indexname := ´´; // isto liga o indice primário, que é ´Linha´

Pronto, fica ordenado pela ordem de chegada, definida por um contador

Espero ter ajudado


GOSTEI 0
POSTAR