的对象添加到窗体上。如下图:
第二步,选择窗体或控件进行属性设置,如图为窗体的属性设置界面:
第三步双击相应的控件,在控件的相应过程中编写代码:
如此窗体上"进入"与"退出"按钮的代码如下:
并且具有改变"登录"菜单为"注销"菜单的功能。
PrivateSubCommand2_Click()
UnloadMe
EndSub
此程序段中,"IF"语句的作用是判断用户输入的用户名与密码和数据库的是否相同,如果相同,则打开菜单项并执行unloadme,如果用户名或密码输入错误,则提示:
使用户重新输入用户名或密码。
Unloadme语句的作用是下载窗体。
此窗体上另外还有Data1、Text3二个控件在程序运行时是看不到的,它们的作用是使VB与Access数据库相连,然后判断用户输入的用户名与密码是否与数据库中的一致,如果一致,则允许用户进入系统。此三个控件的创建方法如下:
首先,将Data、Text控件拖放到窗体上,其次,设置它们的属性:
(1)Data1控件的属性设置如下图:
此两个属性的作用是保证Data控件与数据库相连。
Visible属性是使此控件运行时在窗体上不显示。
(2)Text3控件的属性设置如下:
Visible属性的设置同Data1控件。
5.2主界面的实现
主界面是用菜单形式表现的,如图:
菜单的制作过程如下:
首先通过"工具"菜单中的"菜单编辑器"调出菜单编辑器,然后进行菜单的设置,如下图:
此过程中要注意各菜单的名称唯一,还要注意菜单的级别,另外此设计过程中我们还可以给菜单加快捷键。
最后设置如下的代码(只要单击菜单即可设置各菜单代码),代码如下:
主要是通过Show方法调用相应的窗体。
5.3水费管理模块的实现
5.3.1缴纳水费模块的实现:
1、流程图:
2、运行界面:
1.实现过程:
第一步将所需的控件放到窗体的相应位置;方法:首先在"工具箱"中选中所需的控件图标,然后在表单的恰当位置上单击鼠标并拖动鼠标,即可把由所选取的控件生成的对象添加到窗体上。如下图:
第二步,选择窗体或控件进行属性设置,同上一小结。
其它属性和控件的设置方法类似。
第三步双击相应的控件,在控件的相应过程中编写代码:
窗体的load事件为:
PrivateSubForm_Load()
Form21.Width=7350
Form21.Height=7395
Form21.Move(MDIForm1.Width-Form21.Width)/2,(MDIForm1.Height-Form21.Height)/4
Label5.Caption=Date
EndSub
作用:使窗体居中显示。
的代码如下:
PrivateSubCommand2_Click()
SQL="select*from用户管理where总户号='"&Trim(Text1(0).Text)&"'"
Data3.RecordSource=SQL
Data3.Refresh
IfData3.Recordset.EOFThen
MsgBox"没有此总户号!请重新输入[总户号]!",,"提示"
Text1(0).Text=""
Text1(0).SetFocus
Else
Fori=1To9
Label1(i).Visible=True
Nexti
Fori=1To6
Text1(i).Visible=True
Nexti
Text8.Visible=True
Data1.Recordset.AddNew
Text1(7)=Text6
Text1(1)=Text3
Text1(2)=Text4
Text1(4)=Text2
Text1(6).Text=Date$
Text1(3).SetFocus
Text8=Text7
EndIf
EndSub
作用:先判断用户表中有没有此总户号,如有就收费,没有就提示用户。界面如下:
的代码如下:
PrivateSubCommand1_Click()
MsgBox"已入库!",,"提示"
Text5.Text=Val(Text5.Text)+Val(Text1(5).Text)
Data1.UpdateRecord
Text1(0).SetFocus
Text1(0).Text=""
Fori=1To9
Label1(i).Visible=False
Nexti
Fori=1To6
Text1(i).Visible=False
Nexti
Text8.Visible=False
EndSub
作用:收费入库,并提示收费员相关信息。
此窗体上用了3个data控件,data1与水费管理表相连,data2与用户管理表相连,data3与当前价格表相连,连接方法同前一节,这边不再重复。
5.3.2查询缴费情况模块的实现
1.运行界面:
2.实现过程:
界面的实现方法同上,下面主要看关键代码:
单选按钮组的代码为:
PrivateSubOption1_Click(IndexAsInteger)
Fori=0To2
IfOption1(0).Value=TrueOrOption1(1).Value=TrueThen
Text1.Visible=True
DTPicker1.Visible=False
Else
IfOption1(2).Value=TrueThen
Text1.Visible=False
DTPicker1.Visible=True
Else
MsgBox"请选择查询的项!",,"提示"
EndIf
EndIf
Nexti
Command1.Visible=True
EndSub
主要选择查询的项。
"查询"的主要代码为:
PrivateSubCommand1_Click()
IfOption1(0).Value=TrueThen
SQL="select*from水费管理where总户号='"&Trim(Text1.Text)&"'"
Else
IfOption1(1).Value=TrueThen
SQL="select*from水费管理where户名='"&Trim(Text1.Text)&"'"
Else
IfOption1(2).Value=TrueThen
SQL="select*from水费管理where缴费日期='"&Format(DTPicker1.Value,"yyyy-mm-dd")&"'"
EndIf
EndIf
EndIf
Data1.RecordSource=SQL
Data1.Refresh
IfData1.Recordset.EOFThen
MsgBox"没有您要查询的缴纳水费情况!",,"提示"
EndIf
EndSub
主要作用:根据用户的选择,通过SQL语句查询并显示结果。
其中,日期采用dtpicker控件实现,如下:
5.4用户管理模块的实现
1.流程图:
2.运行界面:
3.实现过程:
8个按纽组的代码如下:
PrivateSubCommand1_Click(IndexAsInteger)
IfIndex=0Then
Data1.Recordset.MoveFirst
Command1(2).Enabled=False
Command1(1).Enabled=True
EndIf
IfIndex=1Then
Command1(2).Enabled=True
Data1.Recordset.MoveNext
IfData1.Recordset.EOFThen
Data1.Recordset.MoveLast
Command1(1).Enabled=False
EndIf
EndIf
IfIndex=2Then
Command1(1).Enabled=True
Data1.Recordset.MovePrevious
IfData1.Recordset.BOFThen
Data1.Recordset.MoveFirst
Command1(2).Enabled=False
EndIf
EndIf
IfIndex=3Then
Data1.Recordset.MoveLast
Command1(1).Enabled=False
Command1(2).Enabled=True
EndIf
IfIndex=4Then
Data1.Recordset.AddNew
Text1(0)=Data1.Recordset.RecordCount+1
Text1(1).SetFocus
Command1(4).Enabled=False
Command1(5).Enabled=False
Command1(6).Enabled=False
EndIf
IfIndex=5Then
Data1.Recordset.Delete
Data1.Recordset.MoveNext
IfData1.Recordset.EOFThen
Data1.Recordset.MoveLast
Command1(1).Enabled=False
EndIf
EndIf
IfIndex=6Then
Data1.Recordset.Edit
Command1(4).Enabled=False
Command1(5).Enabled=False
Command1(6).Enabled=False
EndIf
IfIndex=7Then
Data1.UpdateRecord
Data1.Recordset.MoveLast
Command1(1).Enabled=False
Command1(2).Enabled=True
Command1(4).Enabled=True
Command1(5).Enabled=True
Command1(6).Enabled=True
EndIf
EndSub
5.5浏览用户模块的实现
1.流程图:
2.运行界面:
3.实现过程:
界面的设计方法同上,在这不再重复。
现将控件的相应代码说明如下:
"查询"的代码如下:
PrivateSubCommand1_Click()
IfOption1.Value=TrueThen
SQL="select*from用户管理where总户号='"&Trim(Text1.Text)&"'"
Data1.RecordSource=SQL
Data1.Refresh
IfData1.Recordset.EOFThen
MsgBox"没有此总户号!",,"提示"
EndIf
EndIf
IfOption2.Value=TrueThen
SQL="select*from用户管理where户名='"&Trim(Text1.Text)&"'"
Data1.RecordSource=SQL
Data1.Refresh
IfData1.Records
上一篇:
VB毕业论文管理系统(论文和程序)
下一篇:
还记得,那年的风车吗?