Applies ToAccess for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Voit DMin- ja DMax-funktioiden avulla määrittää tietyn tietuesarjan (a ryhmä) vähimmäis- ja enimmäisarvot. Käytä DMin- ja DMax-funktioita Visual Basic for Applications (VBA) -moduulissa, makro:ssa, kyselylausekkeessa tai laskettu ohjausobjekti:ssa.

Voit esimerkiksi käyttää DMin- ja DMax-funktioita raportin lasketuissa ohjausobjekteissa näyttämään tietyn asiakkaan pienimmät ja suurimmat tilaussummat. Voit myös käyttää DMin-funktiota kyselylausekkeessa näyttämään kaikki tilaukset, joiden alennus ylittää pienimmän mahdollisen alennuksen.

Syntaksi

DMin ( expr , domain [, criteria] )

DMax ( expr , domain [, criteria] )

DMin- ja DMax-funktioilla on seuraavat argumentit:

Argumentti

Kuvaus

lauseke

Pakollinen. Lauseke, joka määrittää kentän, jolle haluat löytää vähimmäis- tai enimmäisarvon. Kyse voi olla merkkijonolauseke:stä, joka tunnistaa kentän taulukossa tai kyselyssä, tai lausekkeesta, joka suorittaa tietojen laskennan tässä kentässä. Lauseke voi sisältää taulukon kentän, lomakkeen ohjausobjektin, vakion tai funktion nimen. Jos lauseke sisältää funktion, se voi olla joko valmis tai käyttäjän määrittämä funktio, mutta ei toinen ryhmäkoostefunktio eikä SQL-koostefunktio.

ryhmä

Pakollinen. Merkkijonolauseke, joka määrittää ryhmän muodostavan tietuejoukon. Kyseessä voi olla taulukon nimi tai sellaisen kyselyn nimi, joka ei vaadi parametria.

ehto

Valinnainen. Merkkijonolauseke, jonka avulla rajoitetaan niiden tietojen aluetta, joihin käytetään DMin- tai DMax-funktiota. Esimerkiksi, criteria vastaa usein WHERE-ehtoa SQL-lausekkeessa ilman WHERE-sanaa. Jos criteria jätetään pois, DMin- ja DMax-funktiot arvioivat expr-argumenttia vertaamalla sitä koko toimialueeseen. criteria-argumenttiin sisällytettävän kentän on myös oltava domain-argumentin kenttä, koska muussa tapauksessa DMin- ja DMax-funktiot palauttavat Tyhjä-arvon.

Huomautuksia

DMin- ja DMax-funktiot palauttavat vähimmäis- ja enimmäisarvot, jotka täyttävät criteria-argumentin. Jos expr-argumentti määrittää numeerisia tietoja, DMin- ja DMax-funktiot palauttavat numeeriset arvot. Jos expr-argumentti määrittää merkkijonon tiedot, se palauttaa merkkijonon, joka on aakkosjärjestyksessä ensimmäinen tai viimeinen.

DMin- ja DMax-funktiot ohittavat Tyhjä-arvot expr-argumentin viittaamassa kentässä. Jos yksikään tietue ei kuitenkaan täytä criteria-argumenttia tai jos domain-argumentti ei sisällä mitään tietuetta, DMin- ja DMax-funktiot palauttavat Tyhjä-arvon.

Huolimatta siitä, käytätkö DMin- tai DMax-funktiota makrossa, moduulissa, kyselylausekkeessa tai lasketussa ohjausobjektissa, sinun on luotava criteria-argumentti huolellisesti sen varmistamiseksi, että sitä arvioidaan oikein.

Voit käyttää DMin- ja DMax-funktiota määrittämään ehdon kyselyn Ehdot-rivillä, kyselyn lasketun kentän lausekkeessa tai päivityskyselyn Päivitä kohteeseen -rivillä.

Huomautus: Voit käyttää DMin- ja DMax-funktioita tai Min- ja Max-funktioita summakyselyn lasketun kentän lausekkeessa. Jos käytät DMin- tai DMax-funktiota, arvoja arvioidaan ennen tietojen ryhmittämistä. Jos käytät Min- tai Max-funktiota, tiedot ryhmitetään ennen arvojen arvioimista kentän lausekkeessa.

Käytä DMin- tai DMax-funktiota lasketussa ohjausobjektissa, kun haluat määrittää ehdot, joiden perusteella rajoitetaan funktion suorittamisessa käytettävää tietoaluetta. Esimerkiksi jos haluat näyttää Kaliforniaan toimitettavasta tilauksesta veloitettavan enimmäisrahtimaksun, määritä tekstiruudun ControlSource-ominaisuuteen seuraava lauseke:

=DMax("[Freight]", "Orders", "[ShipRegion] = 'CA'")

Jos haluat vain löytää kaikkien tietueiden vähimmäis- tai enimmäisarvon domain-argumentissa, käytä Min- tai Max-funktiota.

Voit käyttää DMin- tai DMax-funktiota moduulissa tai makrossa tai lasketussa ohjausobjektissa lomakkeessa, jos näytettävää kenttää ei ole lomakkeen perustana olevassa tietuelähteessä.

vinkki

Vaikka voitkin käyttää DMin- tai DMax-funktiota vähimmäis- tai enimmäisarvon löytämiseen kentästä viitetaulukkossa, voi olla tehokkaampaa luoda kysely, joka sisältää tarvittavat kentät kummastakin taulukosta, ja käyttää sitten lomakkeen tai raportin perustana tätä kyselyä.

Huomautus:  domain -argumentin tallentamattomia tietueiden muutoksia ei oteta mukaan käytettäessä näitä funktioita. Jos haluat, että DMax- tai DMin-funktio perustuu muuttuneisiin arvoihin, sinun on ensin tallennettava muutokset napsauttamalla Tallenna tietueTietueet-kohdasta Tiedot-välilehdessä, siirtämällä kohdistus toiseen tietueeseen tai käyttämällä Päivitä-menetelmää.

Esimerkki

Huomautus: Seuraavissa esimerkeissä kerrotaan, kuinka tätä funktiota käytetään Visual Basic for Applications (VBA) -moduulissa. Jos haluat lisätietoja VBA:n käytöstä, valitse Sovelluskehittäjän opasHaku-kentän viereisestä luettelosta ja anna yksi tai useampi hakuehto hakukenttään.

Seuraava esimerkki palauttaa Isoon-Britanniaan toimitettujen tilausten Rahti-kentän alimmat ja korkeimmat arvot. domain-argumentti on Tilaukset-taulukko. criteria-argumentti rajoittaa tuloksena saadun tietuejoukon tietueisiin, joiden kohdalla ShipCountryRegion on UK.

Dim curX As Currency
Dim curY As Currency
curX = DMin("[Freight]", "Orders", _
    "[ShipCountryRegion] = 'UK'")
curY = DMax("[Freight]", "Orders", _
    "[ShipCountryRegion] = 'UK'")

Seuraavassa esimerkissä criteria-argumentti sisältää Tilauspäivä-nimisen tekstiruudun nykyisen arvon. Tekstiruutu on sidottu Tilaukset-taulukon Tilauspäivä-kenttään. Huomaa, että merkkijonoja osoittavien kaksinkertaisten lainausmerkkien (") sisällä ei ole viittausta ohjausobjektiin. Näin varmistetaan, että aina, kun DMax-funktiota kutsutaan, Access hankkii ohjausobjektista nykyisen arvon.

Dim curX As Currency
curX = DMax("[Freight]", "Orders", "[OrderDate] = #" _
    & Forms!Orders!OrderDate & "#")

Seuraavassa esimerkissä ehtolauseke sisältää muuttujan dteOrderDate. Huomaa, että numeromerkit (#) sisältyvät merkkijonolausekkeeseen, joten kun merkkijonot ketjutetaan, ne sulkevat päivämäärän.

Dim dteOrderDate As Date
Dim curX As Currency
dteOrderDate = #03/30/2000#
curX = DMin("[Freight]", "Orders", _
    "[OrderDate] = #" & dteOrderDate & "#")

Tarvitsetko lisäohjeita?

Haluatko lisää vaihtoehtoja?

Tutustu tilausetuihin, selaa harjoituskursseja, opi suojaamaan laitteesi ja paljon muuta.

Osallistumalla yhteisöihin voit kysyä kysymyksiä ja vastata niihin, antaa palautetta sekä kuulla lisää asiantuntijoilta, joilla on runsaasti tietoa.