Fórum Focalizar cursor no último registro de uma tabela. #236261
04/06/2004
0
Quero fazer com que uma variável(Cli_Atual : integer) receba o valor ID_CLIENTE do último Cliente cadastrado na tabela.
Fiz assim:
Table1.last;
Cli_Atual := Table1.Fields.Fields[1].AsInteger;
Funciona, mas quando excluo um Cliente do meio da tabela, ele não chega até o fim.
Ex.: ID_CLIENTE | CLIENTE
1hjk
2hkjl
3fgdf
4dfewrew
5bcvc
Se excluo o cliente 3, e executo o comando acima, ele retorna o cliente 2 como sendo o ultimo. E quero que retorne o cliente 5.
Bossoni
Curtir tópico
+ 0Posts
04/06/2004
Lucas Silva
table1.Delete; table1.FetchAll; // não tenho muita certeza disto; table1.Last;
Gostei + 0
04/06/2004
Gandalf.nho
Gostei + 0
04/06/2004
Bossoni
Gostei + 0
04/06/2004
Bossoni
Só + uma coisa, não estou conseguindo pegar esse valor. Como faço isso, estou utilizando dbexpress e interbase.
Preciso armazenar esse valor em uma variavel integer
Gostei + 0
04/06/2004
Bruno Belchior
Table.last;
Gostei + 0
05/06/2004
Sandra
Bruno, o ideal não seria no evento AfterDelete? :roll:
Gostei + 0
05/06/2004
Bossoni
Agradeço a todos pela ajuda.
Mas, essa dica do gandalf.nho é a que me serve. Mas quem puder ajudar, como faço para pegar esse valor que o select retorna e guardar em uma variavel.
Obrigado desde já pela ajuda
Gostei + 0
05/06/2004
Sandra
Cli_Atual := DM.SQLQuery1.FieldByName(ID_CLIENTE).AsInteger;
Lógico, DM se sua query estiver no DataModule.
Boa sorte!!
Gostei + 0
05/06/2004
Thoor Cobain
Agradeço a todos pela ajuda.
Mas, essa dica do gandalf.nho é a que me serve. Mas quem puder ajudar, como faço para pegar esse valor que o select retorna e guardar em uma variavel.
Obrigado desde já pela ajuda[/quote:5562965e3b]
Faça assim:
query.close;
query.open; // abro a query onde tem o SELECT
tableCliente.fieldByName(´ID_CLIENTE´).asInteger := query.fieldbyname(´MAX´).asInteger; // Jogo o resultado em um campo da sua tabela.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)