A DMin és a DMax függvényekkel meghatározhatja egy adott rekordhalmaz (tartomány) minimális és maximális értékeit. A DMin és a DMax függvényt Visual Basic for Applications (VBA) modulban, makróban, lekérdezési kifejezésben vagy számított vezérlőelemben használhatja.
Használhatja például a DMin és a DMax függvényt egy jelentés számított vezérlőiben egy adott ügyfél legkisebb és legnagyobb megrendelési összegének megjelenítéséhez. Vagy használhatja a DMin függvényt egy lekérdezési kifejezésben az összes olyan rendelés megjelenítésére, amelynek kedvezménye nagyobb, mint a minimális lehetséges kedvezmény.
Szintaxis
DMin(kifejezés; tartomány [, kritérium] )
DMax(kifejezés; tartomány [, kritérium] )
Az Ab.Min és az Ab.Max függvény a következő argumentumokat tartalmazza:
| Argumentum | Leírás: |
|---|---|
| kif | Kötelező. Olyan kifejezés, amely megadja azt a mezőt, amelynek vissza szeretné adni a legkisebb és a legnagyobb értékét. Ez lehet egy tábla vagy lekérdezés egy mezőjét azonosító sztringkifejezés, vagy egy olyan kifejezés, amely számítást végez az adott mező adatain. A kifejezésben megadhatja egy mező nevét egy táblában, egy űrlap vezérlőelemét, egy állandót vagy egy függvényt. Ha a kifejezés tartalmaz egy függvényt, az lehet beépített vagy felhasználó által definiált, de nem egy másik tartomány-összesítő vagy SQL összesítő függvény. |
| tartomány | Kötelező. Olyan karakterlánc-kifejezés, amely meghatározza a tartományt alkotó rekordok készletét. Lehet táblanév vagy olyan lekérdezés neve, amelyhez nem szükséges paramétert megadni. |
| kritérium | Nem kötelező. Sztringkifejezés, amellyel korlátozható az adattartomány, amelyen a DMin vagy a DMax függvényt végrehajtják. A feltételek például gyakran egyenértékűek az SQL-kifejezések WHERE záradékával, a WHERE szó nélkül. Ha a feltétel nincs megadva, a DMin és a DMax függvény kiértékeli a kifejezés értékét a teljes tartományon. A feltételekben szereplő mezőknek szintén tartománybeli mezőnek kell lenniük, ellenkező esetben a DMin és a DMax függvény null értéket ad vissza. |
Megjegyzések
A DMin és a DMax függvény a feltételeknek megfelelő minimális és maximális értékeket adja vissza. Ha a kifejezés numerikus adatokat azonosít, a DMin és a DMax függvény numerikus értékeket ad vissza. Ha a kifejezés sztringadatokat azonosít, akkor az első vagy utolsó betűrendben megadott sztringet adja vissza.
A DMin és a DMax függvény figyelmen kívül hagyja a null értékeket a kifejezés által hivatkozott mezőben. Ha azonban egyetlen rekord sem felel meg a feltételeknek , vagy ha a tartomány nem tartalmaz rekordokat, a DMin és a DMax függvény null értéket ad vissza.
Függetlenül attól, hogy a DMin vagy a DMax függvényt makróban, modulban, lekérdezési kifejezésben vagy számított vezérlőelemben használja, gondosan kell összeállítania a kritériumargumentumot, hogy a kiértékelése megfelelő legyen.
A DMin és a DMax függvénnyel feltételeket adhat meg egy lekérdezés Feltétel sorában, egy lekérdezés számított mezőkifejezésében vagy egy frissítő lekérdezés Frissítés sorában.
Megjegyzés
Használhatja a DMin és a DMax függvényt, illetve a Min és a Max függvényt egy összeg lekérdezés számított mezőkifejezésében. Ha a DMin vagy a DMax függvényt használja, az értékek kiértékelése az adatok csoportosítása előtt történik. Ha a Min vagy a Max függvényt használja, az adatok csoportosítása a mezőkifejezés értékeinek kiértékelése előtt történik.
Akkor használja a DMin vagy a DMax függvényt egy számított vezérlőelemben, ha feltételeket kell megadnia a függvény végrehajtásához használt adatok tartományának korlátozásához. Ha például meg szeretné jeleníteni a Kaliforniába szállított rendelések maximális szállítási díját, állítsa egy szövegmező ControlSource tulajdonságát a következő kifejezésre:
=DMax("[Freight]", "Orders", "[ShipRegion] = 'CA'")
Ha egyszerűen meg szeretné találni a tartomány összes rekordjának minimális vagy maximális értékét, használja a Min vagy a Max függvényt.
Használhatja az Ab.Min vagy az Ab.Max függvényt egy modulban vagy makróban vagy űrlapon lévő számított vezérlőelemben, ha a megjelenítendő mező nem abban a rekordforrásban van, amelyen az űrlap alapul.
tipp
Bár a DMin vagy a DMax függvénnyel megkeresheti egy idegen tábla mezőinek minimális vagy maximális értékét, hatékonyabb lehet olyan lekérdezést létrehozni, amely a szükséges mezőket tartalmazza mindkét táblából, és az űrlapot vagy jelentést erre a lekérdezésre alapozza.
Megjegyzés
A tartomány rekordjainak nem mentett módosításai nem szerepelnek a függvények használatakor. Ha azt szeretné, hogy a DMax vagy a DMin függvény a módosított értékeken alapuljon, először mentenie kell a módosításokat az Adatok lap Rekordok csoportjában a Rekord mentése gombra kattintva, a fókusz másik rekordra való áthelyezésével vagy az Update metódussal.
Példa
Megjegyzés
A következő példák egy Visual Basic for Applications (VBA) modulban mutatják be a függvény használatát. A VBA használatáról a Keresés elem mellett található legördülő listából a fejlesztői forrásokat választva, majd egy vagy több keresőszót megadva kaphat további tájékoztatást.
Az alábbi példában az Egyesült Királyságba irányuló szállítmányok Szállítási díj mezőjének legalacsonyabb és legmagasabb értékét kapja eredményül. A tartomány a Rendelések tábla. A kritérium argumentum az eredményül kapott rekordhalmazt azokra korlátozza, amelyekhez a ShipCountryRegion értéke Egyesült Királyság.
Dim curX As Currency
Dim curY As Currency
curX = DMin("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")
curY = DMax("[Freight]", "Orders", _
"[ShipCountryRegion] = 'UK'")
A következő példában a kritérium argumentum egy OrderDate nevű szövegmező aktuális értékét tartalmazza. A szövegmező egy Rendelések tábla Rendelésdátum mezőjéhez van kötve. Vegye figyelembe, hogy a vezérlőelemre mutató hivatkozás nem szerepel a sztringeket jelölő idézőjelek (") között. Ez biztosítja, hogy a DMax függvény minden meghívásakor az Access lekérte az aktuális értéket a vezérlőből.
Dim curX As Currency
curX = DMax("[Freight]", "Orders", "[OrderDate] = #" _
& Forms!Orders!OrderDate & "#")
A következő példában a feltételkifejezés tartalmaz egy változót: dteOrderDate. Vegye figyelembe, hogy a kettős keresztek (#) a karakterlánc-kifejezés részét képezik, így a karakterlánc összefűzésekor befoglalják a dátumot.
Dim dteOrderDate As Date
Dim curX As Currency
dteOrderDate = #03/30/2000#
curX = DMin("[Freight]", "Orders", _
"[OrderDate] = #" & dteOrderDate & "#")