[AccessD] Create a random date/time

Gustav Brock gustav at cactus.dk
Fri Aug 28 10:29:44 CDT 2015


Hi all

Have you ever wondered how to create a random date/time?

Well I hadn't, but it is not that difficult. The trick is using Rnd twice:

    RandomDate = CDate((CLng(#12/31/9999#) - CLng(#1/1/100#)) * Rnd * Rnd + CLng(#1/1/100#))

The full story is here:

    http://stackoverflow.com/a/32265346/3527297

If you want a value within a given range, you can use this simple function:

<code>
Public Function DateRandom( _
    Optional ByVal UpperDate As Date = #12/31/9999#, _
    Optional ByVal LowerDate As Date = #1/1/100#) _
    As Date

'   Generates a random date/time - optionally within the range of LowerDate and/or UpperDate.
'
'   2015-08-28. Gustav Brock, Cactus Data ApS, CPH.

    Dim RandomDate  As Date

    RandomDate = CDate((CLng(UpperDate) - CLng(LowerDate)) * Rnd * Rnd + CLng(LowerDate))

    DateRandom = RandomDate

End Function
</code>

/gustav


More information about the AccessD mailing list