Pode utilizar as funções DFirst e DLast para devolver um registo aleatório de um determinado campo numa tabela ou consulta quando simplesmente precisar de qualquer valor desse campo. Utilize as funções DFirst e DLast num macro, módulo, expressão de consulta ou controlo calculado num formulário ou relatório.
Sintaxe
DFirst ( expr , domínio [, critérios] )
DLast ( expr , domínio [, critérios] )
As funções DFirst e DLast têm estes argumentos:
Argumento |
Descrição |
expr |
Obrigatório. Uma expressão que identifica o campo a partir do qual pretende localizar o primeiro ou último valor. Pode ser um expressão de cadeia identificar um campo numa tabela ou consulta ou uma expressão que efetua um cálculo nos dados nesse campo. Em expr, pode incluir o nome de um campo numa tabela, um controlo num formulário, uma constante ou uma função. Se expr inclui uma função, a mesma pode ser incorporada ou definida pelo utilizador, mas não pode ser outra agregação de domínio ou função de agregação SQL. |
domínio |
Obrigatório. Uma expressão de cadeia que identifica o conjunto de registos que constituem o domínio. |
critérios |
Opcional. Uma expressão de cadeia utilizada para restringir o intervalo de dados no qual a função DFirst ou DLast é executada. Por exemplo, o argumento critérios é muitas vezes equivalente à cláusula WHERE numa expressão SQL, sem a palavra WHERE. Se os critérios forem omitidos, as funções DFirst e DLast avaliam expr em relação a todo o domínio. Qualquer campo incluído nos critérios também tem de ser um campo no domínio; caso contrário, as funções DFirst e DLast devolvem um Nulo. |
Observações
Nota: Se quiser devolver o primeiro ou último registo num conjunto de registos (um domínio ), deve criar uma consulta ordenada como ascendente ou descendente e definir a propriedade TopValues como 1. Para obter mais informações, veja o tópico da propriedade TopValues . A partir de um módulo de Visual Basic for Applications (VBA), também pode criar um objeto ADO Recordset e utilizar o método MoveFirst ou MoveLast para devolver o primeiro ou último registo num conjunto de registos.
Exemplos
Expressão |
Resultados |
SELECT DFirst("DateofSale","ProductSales") AS Expr1 FROM ProductSales GROUP BY DFirst("DateofSale","ProductSales"); |
Devolve o valor aleatório do campo "DateofSale" da Tabela "VendasDeProdutos". Se a tabela tiver uma "chave primária", devolverá o valor "FIRST" de "DateofSale" com base na ordem ascendente da chave primária. |
SELECT DLast("DateofSale","ProductSales") AS FirstDis_ID FROM ProductSales GROUP BY DLast("DateofSale","ProductSales"); |
Devolve o valor aleatório do campo "DateofSale" da Tabela "VendasDeProdutos". Se a tabela tiver uma "chave primária", devolverá o valor "LAST" de "DateofSale" com base na ordem ascendente da chave primária. devolve o Primeiro "IDDoProduto" da Tabela "VendasDoProduto", em que o valor "Desconto" é "0" e apresenta o resultado na coluna "FirstDis_ID". |
SELECT DLast("ProductID","ProductSales","Discount=0") AS LastDis_ID FROM ProductSales GROUP BY DLast("ProductID","ProductSales","Discount=0"); |
Devolve o Último "ProductID" da Tabela "VendasDeProdutos" em que o valor "Desconto" é "0" e apresenta o resultado na coluna "LastDis_ID". |