U kunt de functies DBMIN en DBMAX gebruiken om de minimum- en maximumwaarden te berekenen in een opgegeven recordset (een domein). Gebruik de functies DBMIN en DBMAX in een Visual Basic for Applications-module (VBA), een macro, een query-expressie of een berekend besturingselement.
U kunt de functies DBMIN en DBMAX bijvoorbeeld gebruiken in berekende besturingselementen in een rapport om de kleinste en grootste orderbedragen voor een bepaalde klant weer te geven. U kunt de functie DBMIN gebruiken in een query-expressie om alle orders met een grotere korting dan de kleinst mogelijke korting weer te geven.
Syntaxis
DBMIN ( expr , domein [, criteria] )
DBMAX ( expr , domein [, criteria] )
De functies DBMIN en DBMAX hebben de volgende argumenten:
Argument |
Beschrijving |
---|---|
expr |
Vereist. Een expressie die het veld aangeeft waarvan u de minimum- of maximumwaarde wilt opvragen. Dit kan een reeksexpressie zijn waarmee een veld van een tabel of query wordt aangegeven of een expressie die een berekening uitvoert op de gegevens die zich in dat veld bevinden. In expr kunt u de naam van een veld in een tabel opnemen, een besturingselement van een formulier, een constante of een functie. Als expr een functie bevat, kan dit een ingebouwde functie of een door een gebruiker gedefinieerde functie zijn, maar niet nog een statistische domein- of SQL-functie. |
domein |
Vereist. Een tekenreeksexpressie waarmee de set records wordt aangegeven waaruit het domein bestaat. Dit kan de naam van een tabel zijn of de naam van een query waarvoor geen parameter nodig is. |
criteria |
Optioneel. Een tekenreeksexpressie die wordt gebruikt om het bereik van gegevens te beperken waarop de functie DMin of DMax wordt uitgevoerd. Criteria is bijvoorbeeld vaak gelijk aan de WHERE-component in een SQL-expressie, zonder het woord WHERE. Als criteria worden weggelaten, evalueren de functies DMin en DMaxexpr op basis van het hele domein. Elk veld dat is opgenomen in criteria moet ook een veld in het domein zijn, anders retourneren de functies DMin en DMax een Null. |
Opmerkingen
De functies DBMIN en DBMAX retourneren de minimum- en maximumwaarden die voldoen aan criteria. Als expr numerieke gegevens identificeert, retourneren de functies DBMIN en DBMAX numerieke waarden. Als expr tekenreeksgegevens identificeert, retourneren ze de tekenreeks die alfabetisch het eerst of laatst komt.
De functies DBMIN en DBMAX negeren Null-waarden in het veld waarnaar wordt verwezen door expr. Als echter geen enkele record voldoet aan het argument criteria of als domein geen records bevat, retourneren de functies DBMIN en DBMAX een Null.
Of u de functie DBMIN of DBMAX nu gebruikt in een macro, een module, een query-expressie of een berekend besturingselement, u moet de criteria zorgvuldig samenstellen. Alleen dan kan het argument goede resultaten opleveren.
U kunt de functie DBMIN of DBMAX gebruiken om criteria op te geven in de rij Criteria van een query, binnen een expressie van een berekend veld in een query of in een bijwerkquery in de rij Wijzigen in.
Opmerking: U kunt de functies DBMIN en DBMAX of de functies Min en Max gebruiken in een berekende veldexpressie van een totalenquery. Als u de functie DBMIN of DBMAX gebruikt, worden waarden geëvalueerd voordat de gegevens worden gegroepeerd. Als u de functie Min of Max gebruikt, worden de gegevens gegroepeerd voordat de waarden van de veldexpressie zijn geëvalueerd.
Gebruik de functie DBMIN of DBMAX in een berekend besturingselement wanneer u criteria wilt opgeven om het gegevensbereik te beperken waarop de functie wordt uitgevoerd. Als u bijvoorbeeld de hoogste vrachtkosten wilt weergeven voor een order die is verzonden naar Californië, stelt u de eigenschap Besturingselementbron van een tekstvak in op de volgende expressie:
=DMax("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Als u alleen de minimum- of maximumwaarden waarde van alle records in domein wilt vinden, gebruikt u de functie Min of Max.
U kunt de functie DBMIN of DBMAX gebruiken in een module of macro, of in een berekend besturingselement in een formulier als het veld dat u wilt weergeven niet in de recordbron staat van het formulier.
Tip
Hoewel u met de functie DBMIN of DBMAX een minimum- of maximumwaarde kunt opvragen uit een veld in een refererende tabel, kan het efficiënter zijn om een query te maken met de velden die u uit beide tabellen nodig hebt en vervolgens het formulier of rapport op die query te baseren.
Opmerking: Niet-opgeslagen wijzigingen in records in domein worden niet opgenomen wanneer u deze functies gebruikt. Als u wilt dat de functie DMax of DMin is gebaseerd op de gewijzigde waarden, moet u de wijzigingen eerst opslaan door op Record opslaan te klikken onder Records op het tabblad Gegevens , de focus naar een andere record te verplaatsen of door de methode Update te gebruiken.
Voorbeeld
Opmerking: In de volgende voorbeelden wordt het gebruik van deze functie in een VBA-module (Visual Basic for Applications) toegelicht. Meer informatie over het werken met VBA vindt u door in de vervolgkeuzelijst naast Zoeken de optie Referentie voor ontwikkelaars te selecteren en een of meer termen in het zoekvenster te typen.
In het volgende voorbeeld vindt u de laagste en hoogste waarden van het veld Vrachtkosten voor orders die naar het Verenigd Koninkrijk zijn verzonden. Het domein is de tabel Orders. Het argument criteria beperkt het resultaat tot een recordset waarvan Verzendland/-regio gelijk is aan UK.
Dim curX As Currency
Dim curY As Currency
curX = DMin("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")
curY = DMax("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")
In het volgende voorbeeld bevat het argument criteria de huidige waarde van het tekstvak Orderdatum. Het tekstvak is afhankelijk van het veld Orderdatum in een tabel Orders. De verwijzing naar het besturingselement staat niet tussen de dubbele aanhalingstekens (") waarmee de tekenreeksen worden aangegeven. Dit zorgt ervoor dat telkens wanneer de functie DMax wordt aangeroepen, Access de huidige waarde van het besturingselement ophaalt.
Dim curX As Currency
curX = DMax("[Freight]", "Orders", "[OrderDate] = #" _
& Forms!Orders!OrderDate & "#")
In het volgende voorbeeld bevat de criteria-expressie een variabele, dteOrderDate. Hekjes (#) worden opgenomen in de reeksexpressie, zodat de datum wordt opgenomen wanneer de tekenreeksen worden samengevoegd.
Dim dteOrderDate As Date
Dim curX As Currency
dteOrderDate = #03/30/2000#
curX = DMin("[Freight]", "Orders", _
"[OrderDate] = #" & dteOrderDate & "#")