仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1013|回复: 8
打印 上一主题 下一主题

[学习教程] MYSQL网页设计基于Access数据库的抽奖体系计划

[复制链接]
小女巫 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:19:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
那时候Sybase已经诞生了6年的时间。至于其他值得关注的开源数据库,PostgreSQL将在2009年达到20岁的生日。虽然MySQL并不是市场上最年轻的数据库,但是却有更多成熟的数据库可供我们选择。弁言
现今社会,林林总总的抽奖举动相称广泛,抽奖举动的基础准绳和次要特性是随机性,但关于某一整体外部的抽奖举动来讲,另有一个绝对平衡的成绩,所谓绝对平衡就是指让各个部门的中奖几率和其人数占总人数的比严重致相称。基于ACCESS,分离其内置VBA言语,经由过程程序计划完成抽奖的随机,经由过程算法研讨完成抽奖的绝对平衡。本文次要先容了体系道理和次要程序的计划。
体系构成及道理
抽奖体系次要由宾客挂号、奖票办理、侥幸抽奖、获奖查询四个基础模块组成,挂号模块挂号列入抽奖职员,奖票办理模块初始化列入抽奖职员名单,抽奖模块完成抽奖功效,获奖查询模块查询获奖了局。个中,抽奖模块中能够完成嘉奖品级、总抽奖数、每次抽奖数的把持。体系架构框图如。

体系架构

体系初始化
宾客挂号模块中已收录了列入抽奖的职员名单和所属部门,在奖票办理模块中,当点击初始化按钮时经由过程外部程序计划起首把前次的抽奖了局清空,同时使用Rnd在列入抽奖的职员名单前随机天生一系列的序号,为侥幸抽奖模块中的随机抽奖做筹办[1]。次要初始化程序代码以下:
以下为援用的内容:
DoCmd.SetWarningsFalse
DoCmd.OpenQuery"删除对奖票号",acNormal,acEdit
DoCmd.OpenQuery"追加对奖票号",acNormal,acEdit
DoCmd.SetWarningsTrue
Setqrs=CurrentDb.OpenRecordset("对奖票号")
qrs.MoveFirst
i=1
DoWhileNotqrs.EOF
 qrs.Edit
 qrs!序号=Int((211-1)*Rnd)
 qrs!对奖号码=i
 qrs.Update
 i=i+1
 qrs.MoveNext
Loop
MsgBox("对奖名单初始化终了。")
qrs.Close

抽奖功效的完成
经由过程抽奖模块完成终极抽奖功效。
经由过程嘉奖品级组合框把持抽奖品级,经由过程抽奖数目组合框把持每批次抽奖数目,经由过程总抽奖数组合框把持总抽奖数。当嘉奖品级分离为1、2、三等奖时,抽奖数目和总抽奖数默许值分离为5、10、10和10、30、50。各组合框的详细数值也能够经由过程高低箭头把持。抽奖界面如。

抽奖界面

其程序计划对照复杂,次要程序以下:
以下为援用的内容:
……
IfMe!嘉奖品级.Value=1Then
 Me!总数目.Value=10
EndIf
IfMe!嘉奖品级.Value=2Then
 Me!总数目.Value=30
EndIf
IfMe!嘉奖品级.Value=3Then
 Me!总数目.Value=50
EndIf
Forms!抽奖.Q_抽奖统计.Requery
IfMe!嘉奖品级.Value=1Then
 Me!抽奖数目.Value=5
EndIf
IfMe!嘉奖品级.Value=2OrMe!嘉奖品级.Value=3Then
 Me!抽奖数目.Value=10
EndIf
……
经由过程点击入手下手按钮入手下手抽奖,同时按钮题目变成中断,再次点击中断此批次抽奖,同时按钮题目变成入手下手,持续点击入手下手下一批次抽奖,云云重复,直至完成总抽奖数,此时提醒“抽奖总数已到”,假如未完成总抽奖数就入手下手别的一轮抽奖,则提醒“抽奖限定”。
外部抽奖次要办理随机性和绝对平衡两个成绩。体系初始化在列入抽奖职员名单前随机天生了序号,经由过程查询“号码重排序”将列入抽奖职员名单依照序号升序分列,抽奖时依照序号按次抽奖,完成了随机的请求。绝对平衡请求大抵依照各个部门人数占总人数的百分比来分派中奖人数,本体系接纳各个部门占总人数的百分比乘以抽奖总数的办法来大抵断定各个部门的中奖人数,有小数的数字经由过程程序计划举行四舍五进处置。必要注重的是,若使一切的部门中奖人数都要用四舍五进的办法举行处置则大概呈现毛病,为了不这类情形必要选定一个部门,使个中奖人数即是总抽奖数减往其他各个部门中奖人数之和[2]。抽奖模块的次要程序代码以下:
以下为援用的内容:
……
N=0
cnt=Me!电科.Value+Me!电气.Value+Me!主动化.Value+Me!通讯.Value+Me!院办.Value+Me!退休.Value
DoWhileMe!抽奖数目.Value>NAndNotqrs.EOFAndcnt<Me!总数目.Value
 电科抽奖
 ’四舍五进断定电科中奖数
 IfMe!电科.Value<(Int(((unit1.姓名之Count/cnt1)*Me!总数目.Value+0.5)))AndN<Me!抽奖数目.ValueAndcnt<Me!总数目.ValueThen
  Ifqrs.单元="电科"Andqrs!批次.Value=0Then
   Me!电科.Value=Me!电科.Value+1
   qrs.Edit
   qrs!嘉奖品级.Value=Me!嘉奖品级.Value
   qrs!批次.Value=Me!批次.Value
   qrs.Update
   N=N+1
  EndIf
 Else
 EndIf
 ……
 退休抽奖
 cnt=Me!电科.Value+Me!电气.Value+Me!主动化.Value+Me!通讯.Value+Me!院办.Value+Me!退休.Value
 cnt2=Me!电科.Value+Me!电气.Value+Me!主动化.Value+Me!通讯.Value+Me!院办.Value
 残剩数目分派给退休
 IfMe!退休.Value<Int((Me!总数目.Value&ndash;cnt2)AndN<Me!抽奖数目.ValueAndcnt<Me!总数目.ValueThen
  Ifqrs22.单元="退休"Andqrs!批次.Value=0Then
   Me!退休.Value=Me!退休.Value+1
   qrs.Edit
   qrs22!嘉奖品级.Value=Me!嘉奖品级.Value
   qrs22!批次.Value=Me!批次.Value
   qrs22.Update
   N=N+1
  EndIf
 Else
 EndIf
 ……
 ’判别是不是完成抽奖
 cnt=Me!电科.Value+Me!电气.Value+Me!主动化.Value+Me!通讯.Value+Me!院办.Value+Me!退休.Value
 Ifcnt=Me!总数目.ValueThen
  MsgBox("抽奖总数已到。")
  Me.可抽奖.Value=0
 Else
  MsgBox("抽奖限定。")
 EndIf
 ……

结论
本体系使用ACCESS数据库,分离其内置VBA言语,切磋了体系初始化、抽奖的随机性和绝对平衡性等关头成绩,满意了抽奖的请求。举行得当调剂,该体系能够使用于多种抽奖场所。

能够以较低的成本向客户提供IT所有权,当节约成本成为客户最高优先级时,解决方案提供商可以向更多的客户同时提供服务。虽然有许多来自RDBMS固有的局限性。
灵魂腐蚀 该用户已被删除
沙发
发表于 2015-1-19 08:53:19 | 只看该作者
我是一个ERP初学者,对于前台运用基本熟悉,但对于后台SQLServer的运用一点也不懂,特想学习下相关资料。至少懂得一些基本的运用。希望各位能给于建议,小弟再谢过!
只想知道 该用户已被删除
板凳
发表于 2015-1-28 05:54:56 | 只看该作者
外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。
兰色精灵 该用户已被删除
地板
发表于 2015-2-5 18:15:29 | 只看该作者
也可谈一下你是怎么优化存储过程的?
再现理想 该用户已被删除
5#
发表于 2015-2-13 05:37:07 | 只看该作者
微软对CLR作了大篇幅的宣传,这是因为数据库产品终于融入.net体系中。最开始我们也是狂喜,感觉对象数据库的一些概念可以实现了。
不帅 该用户已被删除
6#
发表于 2015-3-3 15:56:37 | 只看该作者
再开发调试阶段和OLAP环境中,外键是可以建立的。新版本中加入了SETNULL和SETDEFAULT属性,能够提供能好的级联设置。
第二个灵魂 该用户已被删除
7#
发表于 2015-3-11 12:15:59 | 只看该作者
发几份SQL课件,以飨阅者
飘飘悠悠 该用户已被删除
8#
发表于 2015-3-18 16:29:04 | 只看该作者
是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。
admin 该用户已被删除
9#
发表于 2015-3-26 12:56:26 | 只看该作者
SP4是一个累积性的ServicePack,包含自以前的ServicePack发布以来所有的修补程序(包括MS03-031安全公告)。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 12:23

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表