È possibile usare le funzioni DFirst e DLast per restituire un record casuale da un campo specifico in una tabella o una query quando è semplicemente necessario un valore qualsiasi di questo campo. Usare le funzioni DFirst e DLast in una macro, un modulo, un'espressione di query o un controllo calcolato in una maschera o un report.

Sintassi

DFirst ( espr , dominio [, criteri] )

DLast ( espr , dominio [, criteri] )

Le funzioni DFirst e DLast hanno gli argomenti seguenti:

Argomento

Descrizione

espressione

Obbligatorio. Espressione che identifica il campo per cui si vuole trovare il primo o l'ultimo valore. Può essere un'espressione stringa che identifica un campo in una tabella o una query oppure un'espressione che esegue un calcolo sui dati del campo. In espr è possibile includere il nome di un campo di una tabella, un controllo di una maschera, una costante o una funzione. Se espr include una funzione, questa può essere una funzione predefinita o definita dall'utente, ma non un'altra funzione di aggregazione sui domini o una funzione di aggregazione SQL.

dominio

Obbligatorio. Espressione stringa che identifica il set di record che costituisce il dominio.

criteri

Facoltativo. Espressione stringa usata per limitare l'intervallo di dati su cui viene eseguita la funzione DFirst o DLast. Ad esempio, criteri equivale spesso alla clausola WHERE in un'espressione SQL, senza la parola WHERE. Se criteri viene omesso, le funzioni DFirst e DLast valutano espr rispetto all'intero dominio. Qualsiasi campo incluso in criteri deve essere anche un campo in dominio; in caso contrario, le funzioni DFirst e DLast restituiscono un valore Null.

Osservazioni

Nota:  Se si vuole restituire il primo o l'ultimo record in un set di record (un dominio), è necessario creare una query in ordine crescente o decrescente e impostare la proprietà .PrimiValori su 1. Per altre informazioni vedere l'argomento sulla proprietà .PrimiValori. Da un modulo di Visual Basic, Applications Edition (VBA) è anche possibile creare un oggetto ADO Recordset e usare il metodo MoveFirst o MoveLast per restituire il primo o l'ultimo record in un set di record.

Esempi

Espressione

Risultati

SELECT DFirst("DateofSale","ProductSales") AS Expr1 FROM ProductSales GROUP BY DFirst("DateofSale","ProductSales");

Restituisce il valore casuale dal campo "DateofSale" della tabella "ProductSales". Se la tabella ha una "chiave primaria", restituirà il valore "PRIMO" della "DateofSale" in base all'ordine crescente della chiave primaria.

SELECT DLast("DateofSale","ProductSales") AS FirstDis_ID FROM ProductSales GROUP BY DLast("DateofSale","ProductSales");

Restituisce il valore casuale dal campo "DateofSale" della tabella "ProductSales". Se la tabella ha una "chiave primaria", restituirà il valore "ULTIMO" della "DateofSale" in base all'ordine crescente della chiave primaria. restituisce il primo "IDProdotto" dalla tabella "VenditeProdotto", dove il valore "Sconto" è "0" e visualizza il risultato nella colonna "FirstDis_ID".

SELECT DLast("ProductID","ProductSales","Discount=0") AS LastDis_ID FROM ProductSales GROUP BY DLast("ProductID","ProductSales","Discount=0");

Restituisce l'ultimo "IDProdotto" dalla tabella "VenditeProdotto", dove il valore "Sconto" è "0" e visualizza il risultato nella colonna "LastDis_ID".

Serve aiuto?

Vuoi altre opzioni?

Esplorare i vantaggi dell'abbonamento e i corsi di formazione, scoprire come proteggere il dispositivo e molto altro ancora.

Le community aiutano a porre e a rispondere alle domande, a fornire feedback e ad ascoltare gli esperti con approfondite conoscenze.