Access數(shù)據(jù)庫的抽獎(jiǎng)系統(tǒng)設(shè)計(jì)_第1頁
Access數(shù)據(jù)庫的抽獎(jiǎng)系統(tǒng)設(shè)計(jì)_第2頁
Access數(shù)據(jù)庫的抽獎(jiǎng)系統(tǒng)設(shè)計(jì)_第3頁
Access數(shù)據(jù)庫的抽獎(jiǎng)系統(tǒng)設(shè)計(jì)_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、Access數(shù)據(jù)庫的抽獎(jiǎng)系統(tǒng)設(shè)計(jì)引言當(dāng)今社會(huì),各種各樣的抽獎(jiǎng)活動(dòng)相當(dāng)普遍,抽獎(jiǎng)活動(dòng)的基本原則和主要特征是隨機(jī)性,但對于某一團(tuán)體內(nèi)部的抽獎(jiǎng)活動(dòng)來說,還有一個(gè)相對均衡的問題,所謂相對均衡就是指讓各個(gè)部門的中獎(jiǎng)概率和其人數(shù)占總?cè)藬?shù)的比重大致相等。基于Access,結(jié)合其內(nèi)置VBA語言,通過程序設(shè)計(jì)實(shí)現(xiàn)抽獎(jiǎng)的隨機(jī),通過算法研究實(shí)現(xiàn)抽獎(jiǎng)的相對均衡。本文主要介紹了系統(tǒng)原理以及主要程序的設(shè)計(jì)。系統(tǒng)組成及原理抽獎(jiǎng)系統(tǒng)主要由來賓登記、獎(jiǎng)票管理、幸運(yùn)抽獎(jiǎng)、獲獎(jiǎng)查詢四個(gè)基本模塊構(gòu)成,登記模塊登記參加抽獎(jiǎng)人員,獎(jiǎng)票管理模塊初始化參加抽獎(jiǎng)人員名單,抽獎(jiǎng)模塊實(shí)現(xiàn)抽獎(jiǎng)功能,獲獎(jiǎng)查詢模塊查詢獲獎(jiǎng)結(jié)果。其中,抽獎(jiǎng)模塊中可以實(shí)現(xiàn)

2、獎(jiǎng)勵(lì)等級、總抽獎(jiǎng)數(shù)、每一次抽獎(jiǎng)數(shù)的控制。系統(tǒng)架構(gòu)框圖如圖1。圖1 系統(tǒng)架構(gòu)系統(tǒng)初始化來賓登記模塊中已經(jīng)收錄了參加抽獎(jiǎng)的人員名單以及所屬部門,在獎(jiǎng)票管理模塊中,當(dāng)點(diǎn)擊初始化按鈕時(shí)通過內(nèi)部程序設(shè)計(jì)首先把上次的抽獎(jiǎng)結(jié)果清空,同時(shí)利用Rnd在參加抽獎(jiǎng)的人員名單前隨機(jī)生成一系列的序號,為幸運(yùn)抽獎(jiǎng)模塊中的隨機(jī)抽獎(jiǎng)做準(zhǔn)備1。主要初始化程序代碼如下:DoCmd.SetWarnings FalseDoCmd.OpenQuery "刪除對獎(jiǎng)票號", acNormal, acEditDoCmd.OpenQuery "追加對獎(jiǎng)票號", acNormal, acEditDoCmd

3、.SetWarnings TrueSet qrs = CurrentDb.OpenRecordset("對獎(jiǎng)票號")qrs.MoveFirsti = 1Do While Not qrs.EOFqrs.Editqrs!序號 = Int(211 - 1) * Rnd)qrs!對獎(jiǎng)號碼 = iqrs.Updatei = i + 1qrs.MoveNextLoopMsgBox ("對獎(jiǎng)名單初始化完畢。")qrs.Close抽獎(jiǎng)功能的實(shí)現(xiàn)通過抽獎(jiǎng)模塊實(shí)現(xiàn)最終抽獎(jiǎng)功能。通過獎(jiǎng)勵(lì)等級組合框控制抽獎(jiǎng)等級,通過抽獎(jiǎng)數(shù)量組合框控制每批次抽獎(jiǎng)數(shù)量,通過總抽獎(jiǎng)數(shù)組合框控制總抽獎(jiǎng)

4、數(shù)。當(dāng)獎(jiǎng)勵(lì)等級分別為一、二、三等獎(jiǎng)時(shí),抽獎(jiǎng)數(shù)量和總抽獎(jiǎng)數(shù)默認(rèn)值分別為5、10、10和10、30、50。各組合框的具體數(shù)值也可以通過上下箭頭控制。抽獎(jiǎng)界面如圖2。圖 2 抽 獎(jiǎng) 界 面其程序設(shè)計(jì)比較簡單,主要程序如下:If Me!獎(jiǎng)勵(lì)等級.Value = 1 ThenMe!總數(shù)量.Value = 10End IfIf Me!獎(jiǎng)勵(lì)等級.Value = 2 ThenMe!總數(shù)量.Value = 30End IfIf Me!獎(jiǎng)勵(lì)等級.Value = 3 ThenMe!總數(shù)量.Value = 50End IfForms!抽獎(jiǎng).Q_抽獎(jiǎng)統(tǒng)計(jì).RequeryIf Me!獎(jiǎng)勵(lì)等級.Value = 1 Then

5、Me!抽獎(jiǎng)數(shù)量.Value = 5End IfIf Me!獎(jiǎng)勵(lì)等級.Value = 2 Or Me!獎(jiǎng)勵(lì)等級.Value = 3 ThenMe!抽獎(jiǎng)數(shù)量.Value = 10End If通過點(diǎn)擊開始按鈕開始抽獎(jiǎng),同時(shí)按鈕標(biāo)題變?yōu)橥V梗俅吸c(diǎn)擊停止此批次抽獎(jiǎng),同時(shí)按鈕標(biāo)題變?yōu)殚_始,繼續(xù)點(diǎn)擊開始下一批次抽獎(jiǎng),如此反復(fù),直至完成總抽獎(jiǎng)數(shù),此時(shí)提示“抽獎(jiǎng)總數(shù)已到”,如果未完成總抽獎(jiǎng)數(shù)就開始另外一輪抽獎(jiǎng),則提示“抽獎(jiǎng)限制”。內(nèi)部抽獎(jiǎng)主要解決隨機(jī)性和相對均衡兩個(gè)問題。系統(tǒng)初始化在參加抽獎(jiǎng)人員名單前隨機(jī)生成了序號,通過查詢“號碼重排序”將參加抽獎(jiǎng)人員名單按照序號升序排列,抽獎(jiǎng)時(shí)按照序號順序抽獎(jiǎng),實(shí)現(xiàn)了隨機(jī)的

6、要求。相對均衡要求大致按照各個(gè)部門人數(shù)占總?cè)藬?shù)的百分比來分配中獎(jiǎng)人數(shù),本系統(tǒng)采用各個(gè)部門占總?cè)藬?shù)的百分比乘以抽獎(jiǎng)總數(shù)的方法來大致確定各個(gè)部門的中獎(jiǎng)人數(shù),有小數(shù)的數(shù)字通過程序設(shè)計(jì)進(jìn)行四舍五入處理。需要注意的是,若使所有的部門中獎(jiǎng)人數(shù)都要用四舍五入的方法進(jìn)行處理則可能出現(xiàn)錯(cuò)誤,為了避免這種情況需要選定一個(gè)部門,使其中獎(jiǎng)人數(shù)等于總抽獎(jiǎng)數(shù)減去其他各個(gè)部門中獎(jiǎng)人數(shù)之和2。抽獎(jiǎng)模塊的主要程序代碼如下:N = 0cnt = Me!電科.Value + Me!電氣.Value + Me!自動(dòng)化.Value + Me!通信.Value + Me!院辦.Value + Me!退休.ValueDo While Me

7、!抽獎(jiǎng)數(shù)量.Value > N And Not qrs.EOF And cnt < Me!總數(shù)量.Value'電科抽獎(jiǎng)四舍五入確定電科中獎(jiǎng)數(shù)If Me!電科.Value < (Int(unit1.姓名之Count / cnt1) * Me!總數(shù)量.Value + 0.5) And N < Me!抽獎(jiǎng)數(shù)量.Value And cnt < Me!總數(shù)量.Value ThenIf qrs.單位 = "電科" And qrs!批次.Value = 0 ThenMe!電科.Value = Me!電科.Value + 1qrs.Editqrs!獎(jiǎng)勵(lì)

8、等級.Value = Me!獎(jiǎng)勵(lì)等級.Valueqrs!批次.Value = Me!批次.Valueqrs.UpdateN = N + 1End IfElseEnd If'退休抽獎(jiǎng)cnt = Me!電科.Value + Me!電氣.Value + Me!自動(dòng)化.Value + Me!通信.Value + Me!院辦.Value + Me!退休.Valuecnt2= Me!電科.Value + Me!電氣.Value + Me!自動(dòng)化.Value + Me!通信.Value + Me!院辦.Value'剩余數(shù)量分配給退休If Me!退休.Value < Int(Me!總數(shù)量

9、.Value cnt2) And N < Me!抽獎(jiǎng)數(shù)量.Value And cnt < Me!總數(shù)量.Value ThenIf qrs22.單位 = "退休" And qrs!批次.Value = 0 ThenMe!退休.Value = Me!退休.Value + 1qrs.Editqrs22!獎(jiǎng)勵(lì)等級.Value = Me!獎(jiǎng)勵(lì)等級.Valueqrs22!批次.Value = Me!批次.Valueqrs22.UpdateN = N + 1End IfElseEnd If判斷是否完成抽獎(jiǎng)cnt = Me!電科.Value + Me!電氣.Value + Me!自動(dòng)化.Value + Me!通信.Value + Me!院辦.Value + Me!退休.ValueIf cnt = Me!總數(shù)量.Value ThenMsgBox ("抽獎(jiǎng)總數(shù)已到。"

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論