Puteți utiliza funcțiile DMin și DMax pentru a determina valorile minime și maxime dintr-un set specificat de înregistrări (un domeniu ). Utilizați funcțiile DMin și DMax într-un modul Visual Basic for Applications (VBA), un macrocomandă, o expresie de interogare sau un control calculat.
De exemplu, puteți utiliza funcțiile DMin și DMax în controalele calculate dintr-un raport pentru a afișa cele mai mici și mai mari sume de comenzi pentru un anumit client. Sau puteți utiliza funcția DMin într-o expresie de interogare pentru a afișa toate comenzile cu o reducere mai mare decât reducerea minimă posibilă.
Sintaxă
DMin ( expresie , domeniu [, criterii] )
DMax ( expresie , domeniu [, criterii] )
Funcțiile DMin și DMax au următoarele argumente:
Argument |
Descriere |
---|---|
expr |
Obligatoriu. O expresie care identifică câmpul pentru care doriți să găsiți valoarea minimă sau maximă. Aceasta poate fi o expresie șir care identifică un câmp dintr-un tabel sau interogare sau poate fi o expresie care efectuează un calcul pe baza datelor din acel câmp. În expr puteți include numele unui câmp într-un tabel, un control pe un formular, o constantă sau o funcție. Dacă expr include o funcție, aceasta poate fi predefinită sau definită de utilizator, dar nu un alt agregat de domeniu sau funcție agregată SQL. |
domeniu |
Obligatoriu. O expresie șir care identifică setul de înregistrări ce constituie domeniul. Poate fi un nume de tabel sau un nume de interogare pentru o interogare care nu necesită un parametru. |
criterii |
Opțional. O expresie șir utilizată pentru a restricționa zona de date pe care se efectuează funcția DMin sau DMax . De exemplu, criteriile sunt adesea echivalente cu clauza WHERE într-o expresie SQL, fără cuvântul WHERE. Dacă se omit criterii , funcțiile DMin și DMax evaluează expr față de întregul domeniu. Orice câmp care este inclus în criterii trebuie să fie, de asemenea, un câmp în domeniu, altfel, funcțiile DMin și DMax returnează un Null. |
Observații
Funcțiile DMin și DMax returnează valorile minime și maxime care îndeplinesc criteriile. Dacă expr identifică date numerice, funcțiile DMin și DMax returnează valori numerice. Dacă expr identifică datele șirului, ele returnează șirul care este primul sau ultimul în ordine alfabetică.
Funcțiile DMin și DMax ignoră valorile Null din câmpul la care face referire expr. Totuși, dacă nicio înregistrare nu îndeplinește criteriile sau dacă domeniul nu conține nicio înregistrare, funcțiile DMin și DMax returnează un Null.
Indiferent dacă utilizați funcția DMin sau DMax într-o macrocomandă, un modul, o expresie de interogare sau un control calculat, trebuie să construiți cu atenție argumentul criterii pentru a vă asigura că va fi evaluat corect.
Puteți utiliza funcția DMin și DMax pentru a specifica criterii în rândul Criterii al unei interogări, într-o expresie de câmp calculat dintr-o interogare sau în rândul Actualizare la al unui interogare de actualizare.
Notă: Puteți utiliza funcțiile DMin și DMax sau funcțiile Min și Max într-o expresie de câmp calculat a unui interogare de totaluri. Dacă utilizați funcția DMin sau DMax , valorile sunt evaluate înainte ca datele să fie grupate. Dacă utilizați funcția Min sau Max , datele sunt grupate înainte de evaluarea valorilor din expresia câmpului.
Utilizați funcția DMin sau DMax într-un control calculat atunci când trebuie să specificați criterii pentru a restricționa zona de date pe care se efectuează funcția. De exemplu, pentru a afișa valoarea maximă a transportului de marfă pentru o comandă expediată în California, setați proprietatea ControlSource a unei casete text la următoarea expresie:
=DMax("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Dacă doriți pur și simplu să găsiți valoarea minimă sau maximă a tuturor înregistrărilor din domeniu, utilizați funcția Min sau Max .
Puteți utiliza funcția DMin sau DMax într-un modul sau într-o macrocomandă sau într-un control calculat dintr-un formular în cazul în care câmpul pe care trebuie să-l afișați nu se află în sursa de înregistrări pe care se bazează formularul.
sfat
Deși puteți utiliza funcția DMin sau DMax pentru a găsi valoarea minimă sau maximă dintr-un câmp dintr-un tabel cu cheie străină, poate fi mai eficient să creați o interogare care conține câmpurile de care aveți nevoie din ambele tabele și să bazați formularul sau raportul pe acea interogare.
Notă: Modificările nesalvate ale înregistrărilor din domeniu nu sunt incluse atunci când utilizați aceste funcții. Dacă doriți ca funcția DMax sau DMin să se bazeze pe valorile modificate, trebuie mai întâi să salvați modificările făcând clic pe Salvare înregistrare sub Înregistrări pe fila Date , mutând focalizarea la altă înregistrare sau utilizând metoda Actualizare .
Exemplu
Notă: Exemplele care urmează demonstrează utilizarea acestei funcții într-un modul Visual Basic for Applications (VBA). Pentru mai multe informații despre lucrul cu VBA, selectați Referințe pentru dezvoltatori în lista verticală de lângă Căutare și introduceți unul sau mai mulți termeni în caseta de căutare.
Următorul exemplu returnează cele mai mici și mai mari valori din câmpul Transport pentru comenzile livrate în Regatul Unit. Domeniul este un tabel Comenzi. Argumentul criterii restricționează setul rezultat de înregistrări la cele pentru care ShipCountryRegion este egal cu Regatul Unit.
Dim curX As Currency
Dim curY As Currency
curX = DMin("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")
curY = DMax("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")
În exemplul următor, argumentul criterii include valoarea curentă a unei casete text numită DatăComandă. Caseta text este legată la un câmp DatăComandă dintr-un tabel Comenzi. Rețineți că referința la control nu este inclusă în ghilimelele duble (") care denotă șirurile. Acest lucru asigură faptul că, de fiecare dată când este apelată funcția DMax , Access obține valoarea curentă din control.
Dim curX As Currency
curX = DMax("[Freight]", "Orders", "[OrderDate] = #" _
& Forms!Orders!OrderDate & "#")
În exemplul următor, expresia criterii include o variabilă, dteOrderDate. Rețineți că semnele numerice (#) sunt incluse în expresia șir, astfel încât, atunci când șirurile sunt concatenate, să cuprindă data.
Dim dteOrderDate As Date
Dim curX As Currency
dteOrderDate = #03/30/2000#
curX = DMin("[Freight]", "Orders", _
"[OrderDate] = #" & dteOrderDate & "#")