Retornar último valor - com condição

Modelo muito útil para criar uma possibilidade de realizar consultas no banco de dados para buscar o último valor (inteiro) em uma tabela, também é possível acrescentar uma condição, exemplo um código de chave primária de uma tabela que deva possuir as suas respectivas sequências, poderá ser usado a condição AND ID = X. Para usar este modelo faça o seguinte.

  1. Pressione o atalho de teclado CTRL + J

  2. Procure por RetornarUltimoValor

  3. Pressione ENTER e o seguinte código aparecerá.

 

uses DB, Classes, DBClient, Graphics, Controls, Forms, Dialogs; function RetornarUltimoValor(ACampo: String; ATabela: String; ACondicao: String): Integer; var vCdsTmp: TVsClientDataSet; const cSQLUltimoValor = '#SELECT NVL(MAX(%0:S), 0) CAMPO_ULTIMO_VALOR FROM %1:S WHERE 1 = 1 %2:S' ; begin Result := -1; vCdsTmp:= TVsClientDataSet.Create(nil); try vCdsTmp.Data := dmConexao3c.QueryPegaData (Format(cSQLUltimoValor, [ACampo, ATabela, ACondicao]), '*', [], [], [] ); if not vCdsTmp.IsEmpty then Result := vCdsTmp.FieldByName('CAMPO_ULTIMO_VALOR').AsInteger; finally vCdsTmp.Free; end; end;

 

Não esquecer de acrescentar o AND quando for usado o campo de condição.