VB数据库设计售楼管理.docx
《VB数据库设计售楼管理.docx》由会员分享,可在线阅读,更多相关《VB数据库设计售楼管理.docx(32页珍藏版)》请在冰豆网上搜索。
VB数据库设计售楼管理
课程设计任务书
学院
信息科学与工程学院
专业
计算机科学与技术
学生姓名
庞金凤
学号
0803050402
设计题目
售楼信息管理系统--售楼管理
内容及要求:
1、售楼管理系统功能:
(1)、售楼人员登记管理
(2)、售楼合同登记管理
(3)、收款信息登记管理
(4)、售楼人员信息查询、售楼合同信息查询、收款信息查询
(5)、显示打印报表
2、数据库的设计
(1)楼盘信息(楼盘编号、楼号、单元号、楼层、房号、户型、面积)
(2)合同信息(合同编号、合同签定日期、购买人姓名、身份证号、售楼人员姓名、合同单价、付款方式、贷款银行)
(3)收款信息(收款编号、交款日期、收款金额、交款人、收款人)
(4)系统信息(用户名、密码)
进度安排:
第16周:
系统需求分析,设计E-R图
数据库设计和模块设计
进行软件编码设计,实现各模块功能
第17周:
继续完成软件设计,调试与完善系统的各项功能
书写课程设计报告。
验收程序,答辩。
指导教师(签字):
年月日
学院院长(签字):
年月日
目录
第1章系统功能概述2
1.1问题定义2
第2章需求分析3
2.1需求分析3
2.2E-R模型3
2.3关系模型4
第3章系统各功能模块的详细设计6
3.1数据流图的设计6
3.1.1顶层的数据流图6
3.1.2细化的数据流图6
3.2系统层次图7
第4章程序运行结果8
4.1登录界面8
4.2用户注册界面10
4.3数据信息界面12
4.3数据信息界面19
第5章课设总结23
参考文献23
第1章系统功能概述
1.1问题定义
随着地产业的不断发展,利用电脑的先进管理手段,把售楼人员从一大堆合同中解放出来,将楼盘的销售推向“无纸化”已经成了解决当前房地产售楼管理的当务之急。
下面介绍的售楼管理系统就是为了实现这一目标而设计的。
管理人员通过该系统可以及时了解楼盘的动态销售情况,还能充分利用电脑的可检索性,方便、快速地了解有关销售楼盘的其他各种详细资料,以便及时做出正确的决策。
而本系统正是针对房产销售的科学化、规范化、网络化的要求而开发,使一线工作人员准确地执行各项活动,减轻劳动强度,又使上层管理人员获得各种需要的信息,起到辅助决策的作用,从而使经营管理的水平达到更高层次,以达到较大的投资回报率及用户满意率。
1.2系统功能
本程序实现的主要功能如下:
(1)售楼人员登记管理
(2)售楼合同登记管理
(3)收款信息登记管理
(4)售楼人员信息查询、售楼合同信息查询、收款信息查询
(5)显示打印报表
图1.1功能模型图
第2章需求分析
2.1需求分析
2.1.1系统管理
对系统的设置,主要包括对信息项所用代码表的维护。
其中包括售楼人员信息的增加、删除、修改、查询以及退出系统。
2.1.2售楼管理
对楼盘信息进行管理,包括楼盘信息管理和合同信息管理和收款信息,其中:
(1)楼盘信息管理包括:
增加新楼盘信息、修改楼盘信息、查询楼盘信息以及删除楼盘信息;
(2)合同信息的管理包括:
增加合同信息、查询合同信息、删除合同信息,此处不能有修改合同信息这一功能,如果出现需要修改的地方,则应重新增加合同;
(3)收款信息管理则包括:
增加收款信息、查询收款信息、删除收款信息,同理,此处也不能有修改收款信息这一功能。
2.2E-R模型
图2.1系统用户E-R图
图2.2楼盘信息E-R图
图2.3收款信息E-R图
图2.4合同信息E-R图
2.3关系模型
将售楼信息管理系统的E-R图转换为关系模型如下:
系统用户(用户名,密码)
楼盘信息(楼盘编号,单元号,楼号,房号,户型,面积,楼层)
收款信息(收款编号,交款日期,收款人,交款人,收款金额)
合同信息(合同编号,合同签订日期,购买人姓名,身份证号,售楼人员姓名,合同单价,付款方式,贷款银行)
2.4数据库结构设计
表2.1系统用户表
字段名称
字段描述
类型
位数
属性
username
用户名
char
20
可空
passwd
密码
char
20
可空
表2.2楼盘信息表
字段名称
字段描述
类型
位数
属性
build-id
楼盘编号
int
4
主码,非空
unit_num
单元号
char
20
可空
area
面积
char
20
可空
type
户型
char
20
可空
bulid-num
楼号
int
4
可空
Home-num
房号
int
4
可空
floor
楼层
int
4
可空
表2.3收款信息表
字段名称
字段描述
类型
位数
属性
rece-id
收款编号
int
4
主码,非空
issuer
收款人
char
20
外码
buyer
交款人
char
20
外码
amount
交款金额
char
15
可空
表2.4合同信息表
字段名称
字段描述
类型
位数
属性
pact-id
合同编号
int
4
主码,非空
deal_time
签订日期
char
20
可空
buyer
购买者姓名
char
20
外码
amount
合同单价
char
15
可空
idcard
身份证号
char
18
可空
issuer
售楼人姓名
char
20
外码
pay-way
付款方式
char
20
可空
第3章系统各功能模块的详细设计
3.1数据流图的设计
3.1.1顶层的数据流图
图3.1顶层数据流图的设计
3.1.2细化的数据流图
图3.2售楼信息管理系统细化了的数据流图
3.2系统层次图
图3.3层次方框图
第4章程序运行结果
4.1登录界面
在VB6环境中,选择菜单“运行/启动”命令,将显示登陆窗体,如图4.1所示。
图4.1登录界面
程序代码如下:
PrivateSubCommand1_Click()
StaticmiCountAsInteger
DimsqlstrAsString
sqlstr="select*from系统信息where用户名='"&Text1&"'and密码='"&Text2&"'"
Adodc1.RecordSource=sqlstr
Adodc1.Refresh
IfAdodc1.Recordset.EOFThen
MsgBox"用户名或密码错误,请重新重新输入",vbExclamation,"警告"
Text1.Text=""
Text2.Text=""
Text1.SetFocus
Else
Form3.Show
UnloadMe
EndIf
miCount=miCount+1
IfmiCount=3ThenUnloadMe
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
PrivateSubCommand3_Click()
Form2.Show
EndSub
输入用户名及密码,点击确定后就进入系统主窗体,如图4.2所示
图4.2系统主窗体
程序代码如下:
PrivateSubfile_Click(IndexAsInteger)
IfIndex=1Then
Form2.Show
Else
End
EndIf
EndSub
PrivateSubmanage_Click(IndexAsInteger)
IfIndex=1Then
Form4.Show
Form3.Hide
Else
IfIndex=2Then
Form5.Show
Form3.Hide
Else
IfIndex=3Then
Form6.Show
Form3.Hide
EndIf
EndIf
EndIf
EndSub
PrivateSubprint_Click(IndexAsInteger)
IfIndex=1Then
Form3.Hide
DataReport1.Show
Else
IfIndex=2Then
Form3.Hide
DataReport2.Show
EndIf
EndIf
EndSub
PrivateSubquery_Click(IndexAsInteger)
IfIndex=2Then
Form3.Hide
Form7.Show
Else
IfIndex=1Then
Form3.Hide
Form8.Show
Else
IfIndex=3Then
Form3.Hide
Form9.Show
EndIf
EndIf
EndIf
EndSub
4.2用户注册界面
新用户登录需注册,如图4.3所示。
图4.3注册新用户
程序代码如下:
PrivateSubCommand1_Click()
DimsqlstrAsString
IfText1=""Then
MsgBox"请输入用户名!
",vbExclamation,"确认密码"
Text1.SetFocus
ExitSub
Else
sqlstr="select*from系统信息where用户名='"&Tex1&"'"
Adodc1.RecordSource=sqlstr
Adodc1.Refresh
IfAdodc1.Recordset.EOF=FalseThen
MsgBox"用户名已存在,请重新输入!
",vbExclamation,"检查用户名"
Text1=""
Text1.SetFocus
ExitSub
EndIf
EndIf
IfText2<>Text3Then
MsgBox"两次输入的密码不一致,请重新输入",vbExclamation,"检验密码"
Text2="":
Text3=""
Text2.SetFocus
ExitSub
Else
IfText2=""Then
MsgBox"密码不能为空!
",vbExclamation,"检验密码"
Text2.SetFocus
Else
Adodc1.Recordset.AddNew
Adodc1.Recordset.Fields("用户名")=Trim(Text1)
Adodc1.Recordset.Fields("密码")=Trim(Text2)
Adodc1.Recordset.Update
Me.Hide
MsgBox"成功注册新用户!
",vbInformation,"添加用户"
EndIf
EndIf
EndSub
PrivateSubCommand2_Click()
UnloadMe
Form1.Show
EndSub
4.3数据信息界面
售楼人员对楼盘信息管理界面,如图4.4所示
图4.4楼盘信息管理界面
程序代码如下:
PrivateSubCombo1_Change()
EndSub
PrivateSubCommand1_Click()
Adodc1.Recordset.AddNew
Command1.Enabled=False
Command3.Enabled=False
Command4.Enabled=True
Command5.Enabled=True
Text1.SetFocus
Label14.Caption="记录:
"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount
EndSub
PrivateSubCommand2_Click()
Text1.SetFocus
EndSub
PrivateSubCommand3_Click()
DimxAsString
x=MsgBox("确定要删除当前记录么?
",vbYesNo+vbQuestion,"确认")
Ifx=vbYesThen
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThen
Adodc1.Recordset.MoveLast
EndIf
Else
Adodc1.Refresh
EndIf
Label14.Caption="记录:
"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount
EndSub
PrivateSubCommand4_Click()
Adodc1.Recordset.Update
Command1.Enabled=True
Command3.Enabled=True
Command4.Enabled=False
Command5.Enabled=False
Label14.Caption="记录:
"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount
EndSub
PrivateSubCommand5_Click()
Adodc1.Refresh
Command1.Enabled=True
Command3.Enabled=True
Command4.Enabled=False
Command5.Enabled=False
Label14.Caption="记录:
"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount
EndSub
PrivateSubCommand6_Click()
UnloadMe
Form3.Show
EndSub
PrivateSubCommand7_Click()
Adodc1.Recordset.MovePrevious
Command8.Enabled=True
IfAdodc1.Recordset.BOFThen
Adodc1.Recordset.MoveFirst
Command7.Enabled=False
EndIf
Label14.Caption="记录:
"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount
EndSub
PrivateSubCommand8_Click()
Adodc1.Recordset.MoveNext
Command7.Enabled=True
IfAdodc1.Recordset.EOFThen
Adodc1.Recordset.MoveLast
Command8.Enabled=False
EndIf
Label14.Caption="记录:
"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount
EndSub
PrivateSubForm_Load()
Label14.Caption="记录:
"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount
EndSub
售楼人员对合同信息管理界面,如图4.5所示
图4.5合同信息管理界面
程序代码如下:
PrivateSubCommand1_Click()
Adodc1.Recordset.AddNew
Command1.Enabled=False
Command3.Enabled=False
Command4.Enabled=True
Command5.Enabled=True
Text1.SetFocus
Label14.Caption="记录:
"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount
EndSub
PrivateSubCommand2_Click()
Text1.SetFocus
EndSub
PrivateSubCommand3_Click()
DimxAsString
x=MsgBox("确定要删除当前记录么?
",vbYesNo+vbQuestion,"确认")
Ifx=vbYesThen
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThen
Adodc1.Recordset.MoveLast
EndIf
Else
Adodc1.Refresh
EndIf
Label14.Caption="记录:
"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount
EndSub
PrivateSubCommand4_Click()
Adodc1.Recordset.Update
Command1.Enabled=True
Command3.Enabled=True
Command4.Enabled=False
Command5.Enabled=False
Label14.Caption="记录:
"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount
EndSub
PrivateSubCommand5_Click()
Adodc1.Refresh
Command1.Enabled=True
Command3.Enabled=True
Command4.Enabled=False
Command5.Enabled=False
Label14.Caption="记录:
"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount
EndSub
PrivateSubCommand6_Click()
UnloadMe
Form3.Show
EndSub
PrivateSubCommand7_Click()
Adodc1.Recordset.MovePrevious
Command8.Enabled=True
IfAdodc1.Recordset.BOFThen
Adodc1.Recordset.MoveFirst
Command7.Enabled=False
EndIf
Label14.Caption="记录:
"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount
EndSub
PrivateSubCommand8_Click()
Adodc1.Recordset.MoveNext
Command7.Enabled=True
IfAdodc1.Recordset.EOFThen
Adodc1.Recordset.MoveLast
Command8.Enabled=False
EndIf
Label14.Caption="记录:
"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount
EndSub
PrivateSubForm_Load()
Label14.Caption="记录:
"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount
EndSub
售楼人员对收款信息管理界面,如图4.6所示
图4.6收款信息管理界面
程序代码如下:
PrivateSubCommand1_Click()
Adodc1.Recordset.AddNew
Command1.Enabled=False
Command3.Enabled=False
Command4.Enabled=True
Command5.Enabled=True
Text1.SetFocus
Label14.Caption="记录:
"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount
EndSub
PrivateSubCommand2_Click()
Text1.SetFocus
EndSub
PrivateSubCommand3_Click()
DimxAsString
x=MsgBox("确定要删除当前记录么?
",vbYesNo+vbQuestion,"确认")
Ifx=vbYesThen
Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext
IfAdodc1.Recordset.EOFThen
Adodc1.Recordset.MoveLast
EndIf
Else
Adodc1.Refresh
EndIf
Label14.Caption="记录:
"&Adodc1.Recordset.AbsolutePosition&"/"&Adodc1.Recordset.RecordCount
EndSub
PrivateSubCommand4_Click()
Adodc1.Recordset.Update
Command1.Enabled=True
Command3.Enabled=True
Command4.Enabled=False
C