Visual Basic桌游计费与管理系统设计报告Word文档格式.docx

上传人:b****5 文档编号:18830531 上传时间:2023-01-01 格式:DOCX 页数:44 大小:431.54KB
下载 相关 举报
Visual Basic桌游计费与管理系统设计报告Word文档格式.docx_第1页
第1页 / 共44页
Visual Basic桌游计费与管理系统设计报告Word文档格式.docx_第2页
第2页 / 共44页
Visual Basic桌游计费与管理系统设计报告Word文档格式.docx_第3页
第3页 / 共44页
Visual Basic桌游计费与管理系统设计报告Word文档格式.docx_第4页
第4页 / 共44页
Visual Basic桌游计费与管理系统设计报告Word文档格式.docx_第5页
第5页 / 共44页
点击查看更多>>
下载资源
资源描述

Visual Basic桌游计费与管理系统设计报告Word文档格式.docx

《Visual Basic桌游计费与管理系统设计报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《Visual Basic桌游计费与管理系统设计报告Word文档格式.docx(44页珍藏版)》请在冰豆网上搜索。

Visual Basic桌游计费与管理系统设计报告Word文档格式.docx

但这并不意味着不能同时一起使用它们,而是恰恰相反。

当你要使用的数据跨越了数据库中的两个或更多的表时,可以使用关联来访问这些数据。

关联是一种定义两表之间相互联系的正式方式。

当定义关联时,必须指明两个相联的表中哪两个字段是连接起来的。

一个为主表的关键字称为主关键字(key),一个是相关表的关键字称为外部关键字(foreignkey)。

本案例的一个重点就是在SQL查询中连接相关的表,实现从多个表中检索相关的信息。

本系统中的数据库文件为桌游管理.mdb,其中包含如下数据表,大家可借助于MicrosoftAccess来创建数据库和数据表。

4.1.1账号表

该表用于存放系统用户的信息,包括用户名和密码,其结构如表12-1所示。

表12-1账号表结构

字段名称

字段类型

字段大小

允许空

用户名

文本

20

密码

4.1.2餐单表

该表用于存放餐单信息,其结构如表12-2所示。

表12-2餐单表结构

类型

50

名称

价格

货币

默认

为了调试程序方便,可在各数据表中先输入一些记录。

4.2各功能模块详细设计

本工程中使用了一些ActiveX控件,在设计时选择“工程”菜单中的“部件”选项,从控件列表中选中如图3所示的选项。

图3系统中使用的ActiveX控件

本工程中要使用ADO数据对象模型,在设计时选择“工程”菜单中的“引用”选项,从引用列表中选中如图4所示的选项。

大家注意,一般前四项是默认选中,而第五项引用ADO数据对象模型库,必须自己选中引用,否则就不能使用ADO数据对象模型。

图4系统中使用的引用

4.2.1Module1.Bas公共标准模块

本工程中包含一个公共标准模块Module1.Bas,其中包含一些全局变量,可被本工程中的多个窗体所调用,代码如下:

PublicbhAsInteger‘用于分辨用户名点餐的台号

PubliczhAsVariant‘用于保存登录系统的用户信息

Publicj(9)AsVariant‘用于保存每张台用户的点餐清单

Publiccym(9)AsCurrency‘用于保存每张台用户点餐的每项价格

Publiccyn(9)AsString‘用于保存每张台用户点餐的每项餐名

Publicxg(9)AsString‘用于保存每张台用户的修改备注

4.2.2登录窗体

登录窗体用于接受用户的用户名和密码输入,并判断是否为合法用户。

如果是合法用户,释放该窗体并启动主界面窗体,否则允许重新登录。

登录窗体的设计界面如图12-5所示,窗体中包含的主要对象及其属性如表12-7所示。

图12-5登录窗体设计界面

表12-7登录窗体中包含的主要对象及其属性

对象

属性

属性取值

登录窗体

Caption

“桌游计费与管理系统”

MaxButton

0‘false

MinButton

StartUpPosition

2‘屏幕中心

Image2

Mousepointer

99-Custom

MouseIcon

hand.cur

Image3

99-Custom

Text12

Password

“*”

Adodc1

ConnectString

“Provider=Microsoft.Jet.OLEDB.4.0;

DataSource=桌游管理.mdb;

PersistSecurityInfo=False”

CommandType

2‘adCmdTable

RecordSource

“账号”

Visible

false

在该窗体上设计如下事件过程

PrivateSubImage2_Click()‘确定按钮

Adodc1.Refresh

DoWhileAdodc1.Recordset.EOF=False

IfText1=Adodc1.Recordset("

账号"

)AndText2=Adodc1.Recordset("

密码"

)Then

zh=Adodc1.Recordset.Bookmark’zh保存登录的用户名的信息

Form2.Adodc2.Recordset.Bookmark=zh

Form2.Show

UnloadMe

ExitSub

Else

Adodc1.Recordset.MoveNext

EndIf

Loop

IfText1="

"

OrText2="

Then

MsgBox"

请输入用户名和密码!

,"

提示"

用户名或密码错误,不能进入,请重新输入!

Text1.SelStart=0

Text1.SelLength=Len(Text1)

Text1.SetFocus

Text2="

EndSub

PrivateSubImage3_Click()‘退出按钮

End

PrivateSubText1_KeyPress(KeyAsciiAsInteger)

IfKeyAscii=vbKeyReturnThenText2.SetFocus

PrivateSubText2_KeyPress(KeyAsciiAsInteger)

IfKeyAscii=vbKeyReturnThenImage2_Click

EndSub

4.2.3主界面窗体

在该窗体上设计有一个菜单,关于如何制作菜单请参看第9章介绍。

主界面窗体的设计界面如图12-8所示,窗体中包含的主要对象及其属性如表12-8所示。

图12-8主界面窗体设计界面

表12-8主界面窗体中包含的主要对象及其属性

菜单

mnu_l

“查看(&

L)”

…mnu_look

“餐单列表”

mnu_g

“管理(&

G)”

…mnu_z

“账号管理”

…mnu_x

“餐单管理”

mnu_xt

“系统(&

E)”

…mnu_gh

“更换用户”

…mnu_e

“退出”

MMControl1

False

Adodc1(和3-11)

adCmdTable

“餐单”

Adodc2

Timer(1-11)

Enable

Interval

1000

Timer(12-21)

500

Text4(0-9)

DataSource

DataField

“价格”

Text7

DimlSec(9)AsInteger,lMin(9)AsInteger,lHour(9)AsInteger'

用于保存时间

Dima(9)AsInteger,b(9)AsInteger,c(9)AsInteger'

a保存用户定台的时间b,c存储vbyes

DimxAsInteger

PrivateSubCommand1_Click(IndexAsInteger)'

修改按钮

SelectCaseIndex

Case0

x=0

Calls_f(x)

Case1

x=1

Case2

x=2

Case3

x=3

Case4

x=4

Case5

x=5

Case6

x=6

Case7

x=7

Case8

x=8

CaseElse

x=9

EndSelect

PrivateSubCommand13_Click(IndexAsInteger)'

开台按钮

IfCommand13(0).Caption="

停止"

b(0)=MsgBox("

是否确定停止?

vbYesNo,"

结束"

Ifb(0)=vbYesThen

Timer1.Enabled=False'

控制显示用户所用时间

Timer12.Enabled=False'

控制显示用户剩余可用时间

Calls_d(x)

ElseIfCommand13(0).Caption="

开台"

a(0)=Val(InputBox("

请输入结束时间(小时)"

"

))

Ifa(0)<

>

0Then

Timer1.Enabled=True

Timer12.Enabled=True

Calls_e(x)

IfCommand13

(1).Caption="

b

(1)=MsgBox("

Ifb

(1)=vbYesThen

Timer3.Enabled=False

Timer13.Enabled=False

ElseIfCommand13

(1).Caption="

a

(1)=Val(InputBox("

Ifa

(1)<

Timer3.Enabled=True

Timer13.Enabled=True

IfCommand13

(2).Caption="

b

(2)=MsgBox("

Ifb

(2)=vbYesThen

Timer4.Enabled=False

Timer14.Enabled=False

ElseIfCommand13

(2).Caption="

a

(2)=Val(InputBox("

Ifa

(2)<

Timer4.Enabled=True

Timer14.Enabled=True

IfCommand13(3).Caption="

b(3)=MsgBox("

Ifb(3)=vbYesThen

Timer5.Enabled=False

Timer15.Enabled=False

ElseIfCommand13(3).Caption="

a(3)=Val(InputBox("

Ifa(3)<

Timer5.Enabled=True

Timer15.Enabled=True

IfCommand13(4).Caption="

b(4)=MsgBox("

Ifb(4)=vbYesThen

Timer6.Enabled=False

Timer16.Enabled=False

ElseIfCommand13(4).Caption="

a(4)=Val(InputBox("

Ifa(4)<

Timer6.Enabled=True

Timer16.Enabled=True

IfCommand13(5).Caption="

b(5)=MsgBox("

Ifb(5)=vbYesThen

Timer7.Enabled=False

Timer17.Enabled=False

ElseIfCommand13(5).Caption="

a(5)=Val(InputBox("

Ifa(5)<

Timer7.Enabled=True

Timer17.Enabled=True

IfCommand13(6).Caption="

b(6)=MsgBox("

Ifb(6)=vbYesThen

Timer8.Enabled=False

Timer18.Enabled=False

ElseIfCommand13(6).Caption="

a(6)=Val(InputBox("

Ifa(6)<

Timer8.Enabled=True

Timer18.Enabled=True

IfCommand13(7).Caption="

b(7)=MsgBox("

Ifb(7)=vbYesThen

Timer9.Enabled=False

Timer19.Enabled=False

ElseIfCommand13(7).Caption="

a(7)=Val(InputBox("

Ifa(7)<

Timer9.Enabled=True

Timer19.Enabled=True

IfCommand13(8).Caption="

b(8)=MsgBox("

Ifb(8)=vbYesThen

Timer10.Enabled=False

Timer20.Enabled=False

ElseIfCommand13(8).Caption="

a(8)=Val(InputBox("

Ifa(8)<

Timer10.Enabled=True

Timer20.Enabled=True

IfCommand13(9).Caption="

b(9)=MsgBox("

Ifb(9)=vbYesThen

Timer11.Enabled=False

Timer21.Enabled=False

ElseIfCommand13(9).Caption="

a(9)=Val(InputBox("

Ifa(9)<

Timer11.Enabled=True

Timer21.Enabled=True

PrivateSubCommand14_Click(IndexAsInteger)'

点餐按钮

bh=0

Form4.Show'

显示餐饮购买窗体

bh=1

Form4.Show

bh=2

bh=3

bh=4

bh=5

bh=6

bh=7

bh=8

bh=9

PrivateSubCommand2_Click(IndexAsInteger)'

点餐清单按钮

Form8.Show'

显示点餐清单窗体

Form8.Show

PrivateSubForm_Load()

Adodc1.Recordset.Move-1'

在窗体加载时,将记录指针移到文件首,则窗体不会显示数据

Adodc3.Recordset.Move-1

Adodc4.Recordset.Move-1

Adodc5.Recordset

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 信息与通信

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1