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), într-o 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 volume 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(expr, domeniu [, criterii] )
DMax(expr, 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. In expr, puteți include numele unui câmp dintr-un tabel, un control dintr-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 aplică funcția DMin sau DMax . De exemplu, criterii adesea este echivalentă cu clauza WHERE într-o expresie SQL, fără cuvântul WHERE. În cazul în care criteriile sunt omise, 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 Nul. |
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, acestea returnează șirul care este primul sau ultimul în ordine alfabetică.
Funcțiile DMin și DMax ignoră valorile nule din câmpul la care face referire expr. Totuși, dacă nicio înregistrare nu satisface criteriile sau dacă domeniul nu conține nicio înregistrare, funcțiile DMin și DMax returnează un Nul.
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 criteriilor , pentru a vă asigura că acesta va fi evaluat corect.
Aveți posibilitatea să utilizați funcțiile DMin și DMax pentru a specifica criteriile în rândul Criterii dintr-o interogare, într-o expresie de câmp calculat dintr-o interogare sau în rândul Actualizare la dintr-o 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 unei interogări de totaluri. Dacă utilizați funcția DMin sau DMax , valorile sunt evaluate înainte de gruparea datelor. Dacă utilizați funcția Min sau Max , datele sunt grupate înainte de evaluarea valorilor din expresia câmp.
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 aplică funcția. De exemplu, pentru a afișa transportul maxim perceput pentru o comandă expediată în California, setați proprietatea Sursă control 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 .
Aveți posibilitatea să utilizați funcția DMin sau DMax într-un modul sau 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 să utilizați 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 la înregistrările 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 să salvați mai întâ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 de 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 cele mai mari valori din câmpul Transport pentru comenzile expediate în Regatul Unit. Domeniul este un tabel Comenzi. Argumentul criteriilor restricționează setul rezultat de înregistrări la cele pentru care RegiuneȚarăNavigare este egală cu UK.
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 criteriilor 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ă între ghilimelele duble ("") care semnalizează șirurile. Acest lucru asigură faptul că, de fiecare dată când funcția DMax este apelată, Access obține valoarea curentă de la control.
Dim curX As Currency
curX = DMax("[Freight]", "Orders", "[OrderDate] = #" _
& Forms!Orders!OrderDate & "#")
În exemplul următor, expresia criteriilor include o variabilă, dteOrderDate. Rețineți că semnele de număr (#) sunt incluse în expresia șir de caractere, astfel încât, atunci când șirurile sunt concatenate, acestea să încadreze data.
Dim dteOrderDate As Date
Dim curX As Currency
dteOrderDate = #03/30/2000#
curX = DMin("[Freight]", "Orders", _
"[OrderDate] = #" & dteOrderDate & "#")