Funktionen Slump

Gäller för
Access för Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Returnerar ett värde av datatypen Single som innehåller ett slumptal.

Syntax

Rnd[(tal)]

Det valfria talargumentetär ett Single eller ett giltigt numeriskt uttryck.

Returvärden

Om tal är Rnd genererar
Mindre än noll Samma tal varje gång, med tal som frö.
Större än noll Nästa slumptal i sekvensen.
Lika med noll Det senast genererade talet.
Ingår inte Nästa slumptal i sekvensen.

Kommentarer

Funktionen Slump returnerar ett värde som är mindre än 1 men större än eller lika med noll.

Värdet på talet bestämmer hur Rnd genererar ett slumptal:

För ett givet initialt frö genereras samma nummersekvens eftersom varje efterföljande anrop till Rnd-funktionen använder det föregående numret som ett frö för nästa nummer i sekvensen.

Innan du anropar Rnd använder du satsen Randomize utan argument för att initiera slumptalsgeneratorn med ett startvärde baserat på systemtimern.

Använd den här formeln för att få fram slumpmässiga heltal i ett givet område:

Int((upperbound - lowerbound + 1) * Rnd + lowerbound)

Här är övre gräns det högsta talet i intervallet och nedre gräns är det lägsta talet i området.

Obs

Om du vill upprepa sekvenser av slumptal anropar du Rnd med ett negativt argument direkt innan du använder Randomize med ett numeriskt argument. Om du använder Slumpa med samma värde för tal upprepas inte föregående sekvens.

Exempel på fråga

Uttryck Resultat
SELECT ProductSales.ProductID, Rnd([Discount]) AS RandomNumbers FROM ProductSales; Returnerar produkt-ID tillsammans med slumptal i kolumnen Slumptal.

VBA-exempel

Obs

I exemplen nedan visar vi hur du använder den här funktionen i en Visual Basic for Applications-modul (VBA). Om du vill läsa mer om hur man använder VBA, kan du välja Info för utvecklare i listrutan bredvid Sök och sedan skriva en eller flera söktermer i sökrutan.

I det här exemplet används funktionen Slump för att generera ett slumpmässigt heltal från 1 till 6.

Dim MyValue
' Generate random value between 1 and 6.
MyValue = Int((6 * Rnd) + 1)