摘 要 介紹了抽獎信息管理系統的設計思路和基本原理,結合Access,通過軟件系統開發,實現了具有隨機性和相對均衡性的抽獎。
關鍵詞 抽獎系統 Access VBA 隨機 相對均衡性
引言
當今社會,各種各樣的抽獎活動相當普遍,抽獎活動的基本原則和主要特征是隨機性,但對於某一團體內部的抽獎活動來說,還有一個相對均衡的問題,所謂相對均衡就是指讓各個部門的中獎概率和其人數占總人數的比重大致相等。基於Access,結合其內置VBA語言,通過程序設計實現抽獎的隨機,通過算法研究實現抽獎的相對均衡。本文主要介紹了系統原理以及主要程序的設計。
系統組成及原理
抽獎系統主要由來賓登記、獎票管理、幸運抽獎、獲獎查詢四個基本模塊構成,登記模塊登記參加抽獎人員,獎票管理模塊初始化參加抽獎人員名單,抽獎模塊實現抽獎功能,獲獎查詢模塊查詢獲獎結果。其中,抽獎模塊中可以實現獎勵等級、總抽獎數、每一次抽獎數的控制。系統架構框圖如圖1。
圖1 系統架構
系統初始化
來賓登記模塊中已經收錄了參加抽獎的人員名單以及所屬部門,在獎票管理模塊中,當點擊初始化按鈕時通過內部程序設計首先把上次的抽獎結果清空,同時利用Rnd在參加抽獎的人員名單前隨機生成一系列的序號,為幸運抽獎模塊中的隨機抽獎做准備[1]。主要初始化程序代碼如下:
DoCmd.SetWarnings False
DoCmd.OpenQuery "刪除對獎票號", acNormal, acEdit
DoCmd.OpenQuery "追加對獎票號", acNormal, acEdit
DoCmd.SetWarnings True
Set qrs = CurrentDb.OpenRecordset("對獎票號")
qrs.MoveFirst
i = 1
Do While Not qrs.EOF
qrs.Edit
qrs!序號 = Int((211 - 1) * Rnd)
qrs!對獎號碼 = i
qrs.Update
i = i + 1
qrs.MoveNext
Loop
MsgBox ("對獎名單初始化完畢。")
qrs.Close
抽獎功能的實現