Microsoft Access VB随机生成器 [英] Microsoft Access VB Random Generator

查看:16
本文介绍了Microsoft Access VB随机生成器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要开发一个使用蒙特卡罗协议的模型,该协议将在0100到2300之间随机化开始时间。我正试图在Microsoft Access中创建这个程序,它将产生随机的开始时间以及随机的活动类型(运输、观察、查询)。活动类型不仅应该是随机的,还应该是加权的(运输=0.25,观察=0.35,查询=0.40)。我试图编写的程序,以便用户可以按下一个命令按钮,以产生一个报告与至少30个随机开始时间和活动类型的列表(例如,1700运输,1500查询等)。我知道如何在Access中创建随机数生成器,但我正在努力,因为我希望用户能够生成多个开始时间和活动类型。举个例子,我想问这样一个问题:"你想要多少次开始?"和"你想要多少种活动类型?"在文本框中。如果我可以创建一个用户朋友界面,我也愿意在Excel中这样做。如有任何帮助,我们将不胜感激

推荐答案

您没有指定希望输出的方式,但希望此代码将帮助您开始创建随机时间加权活动的过程。您可以确定用户界面。

Sub CreateRandom()
    Dim intNumTimesNeeded As Integer
    Dim y As Integer
    Dim activity As String
    Dim StartMinute As Integer
    Dim FirstTime As Integer
    Dim EndTime As Integer
    Dim StartTime As Date

    FirstTime = 1 * 60  ' first time is 1:00 am
    EndTime = 23 * 60   ' last time is 11:00 pm

    intNumTimesNeeded = 10

    For x = 1 To intNumTimesNeeded
        Randomize
        y = Rnd() * 100
        Select Case y
            Case Is >= 60
                activity = "Query"
            Case Is > 25
                activity = "Observe"
            Case Else
                activity = "Transit"
        End Select

        StartMinute = Int((EndTime - FirstTime + 1) * Rnd() + FirstTime)

        StartTime = DateAdd("n", StartMinute, "01/01/1900")

        Debug.Print Format(StartTime, "hh:mm") & " - " & activity
    Next

End Sub

这篇关于Microsoft Access VB随机生成器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆