Compartilhar via


Primeiro, Últimas funções (SQL do Microsoft Access)

Aplica-se ao: Access 2013 | Access 2016

Retornam um valor de campo do primeiro ou do último registro no conjunto de resultados retornados por uma consulta.

Sintaxe

Primeiro, expr

Último( expr )

O espaço reservado expr representa uma expressão de sequência que identifica o campo que contém os dados que deseja usar ou uma expressão que executa um cálculo utilizando os dados naquele campo. Os operandos em expr podem incluir o nome de um campo da tabela, uma constante ou uma função (que pode ser intrínseca ou definida pelo usuário, mas não uma de outras funções agregadas do SQL).

Comentários

As funções First e Last são análogas para os métodos MoveFirst e MoveLast de um objeto Recordset do DAO. Elas simplesmente retornam o valor de um campo especificado no primeiro e no último registro, respectivamente, do conjunto de resultados retornados por uma consulta. Como os registros são normalmente retornados sem uma ordem definida (a não ser que a consulta inclua uma cláusula ORDER BY), os registros retornados por essas funções serão arbitrários.

Exemplo

Este exemplo utiliza a tabela Funcionários para retornar os valores do campo Sobrenome do primeiro e do último registro retornado da tabela.

Este exemplo chama o procedimento EnumFields, que você pode encontrar no exemplo de instrução SELECT.

Sub FirstLastX1() 
 
    Dim dbs As Database, rst As Recordset 
 
    ' Modify this line to include the path to Northwind 
    ' on your computer. 
    Set dbs = OpenDatabase("Northwind.mdb") 
     
    ' Return the values from the LastName field of the  
    ' first and last records returned from the table. 
    Set rst = dbs.OpenRecordset("SELECT " _ 
        & "First(LastName) as First, " _ 
        & "Last(LastName) as Last FROM Employees;") 
     
    ' Populate the Recordset. 
    rst.MoveLast 
     
    ' Call EnumFields to print the contents of the  
    ' Recordset. Pass the Recordset object and desired 
    ' field width. 
    EnumFields rst, 12 
 
    dbs.Close 
 
End Sub 

O próximo exemplo compara a utilização das funções First e Last, usando simplesmente as funções Min e Max para localizar as datas de nascimento mais antigas e mais recentes dos Funcionários.

Sub FirstLastX2() 
 
    Dim dbs As Database, rst As Recordset 
 
    ' Modify this line to include the path to Northwind 
    ' on your computer. 
    Set dbs = OpenDatabase("Northwind.mdb") 
     
    ' Find the earliest and latest birth dates of 
    ' Employees. 
    Set rst = dbs.OpenRecordset("SELECT " _ 
        & "First(BirthDate) as FirstBD, " _ 
        & "Last(BirthDate) as LastBD FROM Employees;") 
     
    ' Populate the Recordset. 
    rst.MoveLast 
     
    ' Call EnumFields to print the contents of the  
    ' Recordset. Pass the Recordset object and desired 
    ' field width. 
    EnumFields rst, 12 
     
    Debug.Print 
 
    ' Find the earliest and latest birth dates of 
    ' Employees. 
    Set rst = dbs.OpenRecordset("SELECT " _ 
        & "Min(BirthDate) as MinBD," _ 
        & "Max(BirthDate) as MaxBD FROM Employees;") 
     
    ' Populate the Recordset. 
    rst.MoveLast 
     
    ' Call EnumFields to print the contents of the  
    ' Recordset. Pass the Recordset object and desired 
    ' field width. 
    EnumFields rst, 12 
 
    dbs.Close 
 
End Sub 

Sobre os colaboradores

Ícone membro da comunidade A comunidade UtterAccess é o principal fórum de ajuda e wiki do Microsoft Access.

Confira também

Suporte e comentários

Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.