e
cmdEdit.Enabled=False
cmdDel.Enabled=False
cmdSave.Enabled=True
cmdCancel.Enabled=True
cmdFirst.Enabled=False
cmdPrev.Enabled=False
cmdNext.Enabled=False
cmdLast.Enabled=False
cmdQuery.Enabled=False
'需要设置除主键之外的text框可写
Fori=1To7
Text1(i).Enabled=True
Nexti
Combo1.Enabled=True
add=0
EndSub
PrivateSubcmdFirst_Click()
'先移动rs_house记录到第一条
rs_house.MoveFirst
'同时需要设置相应按钮为不可用和不可用
cmdPrev.Enabled=False
cmdFirst.Enabled=False
cmdNext.Enabled=True
cmdLast.Enabled=True
'如果已经是第一条记录,则提示用户
Ifrs_house.BOF=TrueThen
MsgBox"对不起,已经是第一条记录了!",vbOKOnly+vbInformation,"注意"
ExitSub
'如果不是,则个数据表的记录位置移到第一条记录,并且显示之
Else
Fori=0To7
Text1(i).Text=rs_house.Fields(i)
Nexti
Ifrs_house.Fields(8)="已租"Then
Combo1.ListIndex=0
ElseIfrs_house.Fields(8)="未租"Then
Combo1.ListIndex=1
ElseIfrs_house.Fields(8)="意向"Then
Combo1.ListIndex=2
EndIf
EndIf
EndSubPREV
检索按钮的源代码:
4.3.2客户资料管理模块的设计
4.3.2.1租户基本资料的设计
运行效果图如下所示:
在租户基本资料中,我们重点分析查找家庭租户功能的源码,如下:
PrivateSubcmdQuery_Click()
IfText1.Text=""Then
MsgBox"查询条件不可为空!",vbOKOnly+vbInformation,"注意"
Text1.SetFocus
ExitSub
EndIf
'设置查询家庭租户变量为真
querycf=True
sqlqcf="where"&Combo1.Text&"="&"'"&Text1.Text&"'"
frmClient.Show
'关闭本窗体
UnloadMe
EndSub
4.3.2.2求租户基本资料的设计
其保存按钮的源码分析如下:
PrivateSubcmdSave_Click()
'检测数据是否完整
IfText1(0).Text=""Then
MsgBox"求租客户编号不可为空!",vbOKOnly+vbInformation,"注意"
Text1(0).SetFocus
ExitSub
ElseIfText1(1).Text=""Then
MsgBox"求租客户姓名不可为空!",vbOKOnly+vbInformation,"注意"
Text1(1).SetFocus
ExitSub
ElseIfText1(2).Text=""Then
MsgBox"求租客户电话不可为空!",vbOKOnly+vbInformation,"注意"
Text1(2).SetFocus
ExitSub
ElseIfNotText1(4).Text=""AndIsNumeric(Text1(4).Text)=FalseThen
MsgBox"面积要求不为空则应为数字!",vbOKOnly+vbInformation,"注意"
Text1(4).SetFocus
ExitSub
ElseIfNotText1(6).Text=""AndIsNumeric(Text1(6).Text)=FalseThen
MsgBox"意向价位不为空则应为数字!",vbOKOnly+vbInformation,"注意"
Text1(6).SetFocus
ExitSub
ElseIfNotText1(7).Text=""AndIsNumeric(Text1(7).Text)=FalseThen
MsgBox"意向租期不为空则应为数字!",vbOKOnly+vbInformation,"注意"
Text1(7).SetFocus
ExitSub
EndIf
'如果意向房屋编号不为空,需要检查是否存在
IfNotText1(8).Text=""Then
DimsqlhcheckAsString
Dimrs_hcheckAsNewADODB.Recordset
sqlhcheck="select*fromHousewhere房屋编号='"&Text1(8).Text&"'"
rs_hcheck.Opensqlhcheck,conn,adOpenStatic,adLockOptimistic
Ifrs_hcheck.EOFThen
MsgBox"该房屋编号不存在,请重填或清空!",vbOKOnly+vbInformation,"注意"
Text1(8).SetFocus
rs_hcheck.Close
ExitSub
EndIf
rs_hcheck.Close
EndIf
'添加数据后保存
Ifadd=1Then
'检测房屋编号这个主键是否已经在表中存在
Dimrs_checkAsNewADODB.Recordset
DimsqlCheckAsString
sqlCheck="select*fromQZClientwhere求租客户编号='"&(Text1(0).Text)&"'"
rs_check.OpensqlCheck,conn,adOpenStatic,adLockOptimistic
IfNotrs_check.EOFAndNotrs_check.BOFThen
MsgBox"该求租客户编号已经存在,请重填一个!",vbOKOnly+vbInformation,"注意"
rs_check.Close
Text1(0).SetFocus
Text1(0).Text=""
ExitSub
EndIf
rs_check.Close
'主键不重复,可以加入表中
rs_QZClient.AddNew
Fori=0To9
rs_QZClient.Fields(i)=Text1(i).Text
Nexti
rs_QZClient.Update
'添加之后显示总共条数信息加1
Text2.Text=Val(Text2.Text)+1
'修改数据后的保存
Else
rs_QZClient.Update
EndIf
MsgBox"保存数据成功!",vbOKOnly+vbInformation,"祝贺"
'保存后需要设置其他按钮可用,以及各个text框不可写
cmdAdd.Enabled=True
cmdEdit.Enabled=True
cmdDel.Enabled=True
cmdSave.Enabled=False
cmdCancel.Enabled=False
cmdFirst.Enabled=True
cmdPrev.Enabled=True
cmdNext.Enabled=True
cmdLast.Enabled=True
cmdQuery.Enabled=True
cmdYuDing.Enabled=True
Fori=0To9
Text1(i).Enabled=False
Nexti
EndSub
4.3.3租赁管理模块的设计
4.3.3.1签订合同的设计
因租赁管理,财务管理和统计报表三个模块的窗体设计比较多,无法一一描述,故选择有代表性的窗体设计加以分析,其合同签订窗体的运行效果图如下:
如图所示,签订的源码设计如下:
PrivateSubcmdSign_Click()
'先检查输入数据完整性
Fori=0To2
IfText1(i).Text=""Then
MsgBox"除备注外的所有项不可为空!",vbOKOnly+vbInformation,"注意"
Text1(i).SetFocus
ExitSub
EndIf
Nexti
Fori=3To4
IfText1(i).Text=""OrIsDate(Text1(i).Text)=FalseThen
MsgBox"日期应为这样的格式:2003-7-15!",vbOKOnly+vbInformation,"注意"
Text1(i).SetFocus
ExitSub
EndIf
Nexti
IfText1(6).Text=""OrIsNumeric(Text1(6).Text)=FalseThen
MsgBox"月租金应为数字!",vbOKOnly+vbInformation,"注意"
Text1(6).SetFocus
ExitSub
EndIf
IfText1(8).Text=""OrIsNumeric(Text1(8).Text)=FalseThen
MsgBox"押金应为数字!",vbOKOnly+vbInformation,"注意"
Text1(8).SetFocus
ExitSub
EndIf
IfText1(9).Text=""Then
MsgBox"业务员不可为空!",vbOKOnly+vbInformation,"注意"
Text1(9).SetFocus
ExitSub
EndIf
IfText1(10).Text=""OrIsDate(Text1(10).Text)=FalseThen
MsgBox"签订日期应为这样的格式:2003-7-15!",vbOKOnly+vbInformation,"注意"
Text1(10).SetFocus
ExitSub
EndIf
'止租日期不能前于起租日期
IfDateValue(Text1(4).Text)
DateAdd(d,rs_yd.Fields(4),rs_yd.Fields(8)))Then
'出租,加入合同表
sqlcon="select*fromContract"
rs_contract.Opensqlcon,conn,adOpenStatic,adLockOptimistic
rs_contract.AddNew
Fori=0To11
rs_contract.Fields(i)=Text1(i).Text
Nexti
rs_contract.Update
'修改房屋状态
rs_hcheck(8)="已租"
rs_hcheck.Update
'检查求租客户表中是否有该客户,如果有,则删除之
sqlqzc="select*fromQZClientwhere求租客户姓名='"&Text1(1).Text&"'"
rs_qzc.Opensqlqzc,conn,adOpenStatic,adLockOptimistic
Ifrs_qzc.EOF=FalseThen
rs_qzc.Delete
rs_qzc.Update
EndIf
'显示签订合同成功
MsgBox"签订合同成功!",vbOKOnly+vbInformation,"注意"
'设置签订按钮不可用
cmdSign.Enabled=False
cmdYaJin.Enabled=True
cmdZuJin.Enabled=True
'关闭所有打开的记录集
rs_qzc.Close
rs_yd.Close
rs_hcheck.Close
rs_contract.Close
ExitSub
Else
MsgBo
上一篇:VB房地产评估系统VB+SQL(论文和程序)
下一篇:致享和威驰哪个好点?冲着安全和空间 推荐致享