解析基于Access数据库的抽奖系统设计(2)_Access数据库教程
教程Tag:暂无Tag,欢迎添加,赚取U币!
推荐:揭秘如何在Access数据库中使用SQL一般在Oracle中使用Sql,在Access中使用很少,不过与Oracle的Sql还是有很多相似之处的。 以下SQL语句在ACCESS XP的查询中测试通过 建表: Create Table Tab1 ( ID Counter primary key, Name string(20), Age integer, [Date] DateTime); 技巧: 自动增加字段
抽奖功能的实现
通过抽奖模块实现最终抽奖功能。
通过奖励等级组合框控制抽奖等级,通过抽奖数量组合框控制每批次抽奖数量,通过总抽奖数组合框控制总抽奖数。当奖励等级分别为一、二、三等奖时,抽奖数量和总抽奖数默认值分别
为5、10、10和10、30、50。各组合框的具体数值也可以通过上下箭头控制。抽奖界面如图2。
图 2 抽 奖 界 面
其程序设计比较简单,主要程序如下:
……
If Me!奖励等级.Value = 1 Then
Me!总数量.Value = 10
End If
If Me!奖励等级.Value = 2 Then
Me!总数量.Value = 30
End If
If Me!奖励等级.Value = 3 Then
Me!总数量.Value = 50
End If
Forms!抽奖.Q_抽奖统计.Requery
If Me!奖励等级.Value = 1 Then
Me!抽奖数量.Value = 5
End If
If Me!奖励等级.Value = 2 Or Me!奖励等级.Value = 3 Then
Me!抽奖数量.Value = 10
End If
……
If Me!奖励等级.Value = 1 Then
Me!总数量.Value = 10
End If
If Me!奖励等级.Value = 2 Then
Me!总数量.Value = 30
End If
If Me!奖励等级.Value = 3 Then
Me!总数量.Value = 50
End If
Forms!抽奖.Q_抽奖统计.Requery
If Me!奖励等级.Value = 1 Then
Me!抽奖数量.Value = 5
End If
If Me!奖励等级.Value = 2 Or Me!奖励等级.Value = 3 Then
Me!抽奖数量.Value = 10
End If
……
通过点击开始按钮开始抽奖,同时按钮标题变为停止,再次点击停止此批次抽奖,同时按钮标题变为开始,继续点击开始下一批次抽奖,如此反复,直至完成总抽奖数,此时提示“抽奖总数已到”,如果未完成总抽奖数就开始另外一轮抽奖,则提示“抽奖限制”。
内部抽奖主要解决随机性和相对均衡两个问题。系统初始化在参加抽奖人员名单前随机生成了序号,通过查询“号码重排序”将参加抽奖人员名单按照序号升序排列,抽奖时按照序号顺序抽奖,实现了随机的要求。相对均衡要求大致按照各个部门人数占总人数的百分比来分配中奖人数,本系统采用各个部门占总人数的百分比乘以抽奖总数的方法来大致确定各个部门的中奖人数,有小数的数字通过程序设计进行四舍五入处理。需要注意的是,若使所有的部门中奖人数都要用四舍五入的方法进行处理则可能出现错误,为了避免这种情况需要选定一个部门,使其中奖人数等于总抽奖数减去其他各个部门中奖人数之和[2]。抽奖模块的主要程序代码如下:
分享:详解如何远程调用Access数据库使用了TCP/IP,ADO及XML(需要安装Microsoft XML 4.0。)。分服务器和客户端两部分,服务器可以多用户同时连接。远程连接Access数据库有很多方法,我以前已经比较详细的回答过(见下面所列的5种方法),我现在这个例子属于其中的第3种方法(不需要使用RDS或W
相关Access数据库教程:
- 相关链接:
- 教程说明:
Access数据库教程-解析基于Access数据库的抽奖系统设计(2)。