RETORNAR O ULTIMO VALOR INSERIDO EM UM CAMPO

FBUR 21/01/2010 16:41:43
#332529
Boa tarde!

Sabemos que @@IDENTITY retorna o último id recém inserido na tabela.


strSQL = [Ô]SELECT @@IDENTITY as codigo[Ô]
Set rs = cn.Execute(strSQL)
intCodigo = rs!codigo
rs.Close
Set rs = Nothing


Tem como retornar o último valor inserido, só que de um campo qualquer?

Uso MySQL

[ ]'s
MARCELO.TREZE 21/01/2010 17:13:26
#332537


TENTE ISTO

strSQL = [Ô]SELECT MAX(CAMPO) as ULTIMO FROM TABELA[Ô]
Set rs = cn.Execute(strSQL)
intCodigo = rs!ULTIMO
rs.Close
Set rs = Nothing

FBUR 21/01/2010 17:35:17
#332541
O MAX não seria o maior valor do campo?

Se já existirem 3 valores: 5, 9, 2

e o que estiver sendo inserido for o 4, esse código irá retornar 9, que é o maior valor do campo.
EDERMIR 21/01/2010 20:15:44
#332552
Vamos [Ô]juntar[Ô] as informações.
Se @@identity retorna o último valor de um campo chave inserido na tabela, então:
[ô]solução do MARCELO-TREZE adaptada
strSQL = [Ô]SELECT @@IDENTITY as ULTIMO_CHAVE[Ô]
Set rs = cn.Execute(strSQL)
intCodigo = rs!ULTIMO_CHAVE
rs.Close
Set rs = Nothing


Neste caso, o último valor inserido em um campo será o valor inserido no último registro (RECEM INSERIDO).
    strSQL = [Ô]SELECT CAMPO as ULTIMO FROM TABELA where CODIGO = [Ô] & intCodigo
Set rs = cn.Execute(strSQL)
intUltimo = rs!ULTIMO
rs.Close
Set rs = Nothing


Tópico encerrado , respostas não são mais permitidas