È 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 report.
Sintassi
DFirst( ** espressione, dominio [, criteri**] )
DLast( ** espressione, 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ò trattarsi di un'espressione stringa che identifica un campo in una tabella o query oppure di un'espressione che esegue un calcolo sui dati contenuti in quel campo. In espressione è possibile includere il nome di un campo in una tabella, un controllo in una maschera, una costante o una funzione. Se espressione include una funzione, questa può essere incorporata o definita dall'utente, ma non un'altra funzione di aggregazione di dominio o di aggregazione SQL. |
| dominio | Obbligatorio. Un'espressione di 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 è spesso equivalente alla clausola WHERE in un'espressione SQL, senza la parola WHERE. Se criteri viene omesso, le funzioni DFirst e DLast valutano l'espressione rispetto all'intero dominio. Qualsiasi campo incluso nei criteri deve essere anche un campo nel 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 di un set di record (un dominio), è necessario creare una query in ordine crescente o decrescente e impostare la proprietà TopValues 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 "FIRST" di "DateofSale" in base all'ordine crescente della chiave primaria. |
| SELEZIONARE 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 "LAST" di "DateofSale" in base all'ordine crescente della chiave primaria. restituisce il primo "IDProdotto" dalla tabella "VenditeProdotto" in cui 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" della tabella "VenditeProdotto" in cui il valore "Sconto" è "0" e visualizza il risultato nella colonna "LastDis_ID". |