conn,adOpenKeyset,adLockPessimistic'打开数据库
setgrid
setgridhead
displaygrid
rs_loupan.Close
ExitSub
EndIf
'按照户型查询
IfOptionhuxing.Value=TrueThen
sql="select楼盘资料表.hos_id,楼盘资料表.hos_hstid,楼盘资料表.hos_price,"&_
"户型资料表.Hst_ID,户型资料表.Hst_buildarea,户型资料表.Hst_usearea,户型资料表.Hst_type,"&_
"户型资料表.Hst_memo,户型资料表.Hst_picturefrom楼盘资料表,户型资料表where楼盘资料表.hos_hstid=户型资料表.Hst_ID"&_
"and户型资料表.Hst_type='"&Combo1.Text&"'"
rs_loupan.CursorLocation=adUseClient
rs_loupan.Opensql,conn,adOpenKeyset,adLockPessimistic'打开数据库
setgrid
setgridhead
displaygrid
rs_loupan.Close
ExitSub
EndIf
ExitSub
loaderror:
MsgBoxErr.Description
EndSub
(2)"退出"按钮的"Click"事件代码"
PrivateSubcmdexit_Click()
UnloadMe
EndSub
(3)"打印"按钮的"Click"事件代码:
PrivateSubcmdprint_Click()
Printgrid1.Unit=Centimeter'设置页边距单位为厘米
Printgrid1.PrintObject=grdLoupan'设置打印对象为
Printgrid1.DoPreView'打印预览
EndSub
PrivateSubForm_Load()
DimsqlAsString
GoToloaderror
sql="select楼盘资料表.hos_id,楼盘资料表.hos_hstid,楼盘资料表.hos_price,户型资料表.Hst_ID,户型资料表.Hst_buildarea,"&_
"户型资料表.Hst_usearea,户型资料表.Hst_type,户型资料表.Hst_memo,户型资料表.Hst_picturefrom楼盘资料表,户型资料表"&_
"where楼盘资料表.hos_hstid=户型资料表.Hst_ID"
rs_loupan.CursorLocation=adUseClient
rs_loupan.Opensql,conn,adOpenKeyset,adLockPessimistic'打开数据库
Combo1.AddItem"二室二厅"
Combo1.AddItem"一室二厅"
Combo1.AddItem"一室二厅"
Combo1.AddItem"复式"
Combo1.AddItem"三室二厅"
setgrid
setgridhead
displaygrid
rs_loupan.Close
ExitSub
loaderror:
MsgBoxErr.Description
EndSub
PublicSubdisplaygrid()
DimiAsInteger
GoTodisplayerror
grdLoupan.Row=0
IfNotrs_loupan.EOFThen
rs_loupan.MoveFirst
DoWhileNotrs_loupan.EOF
grdLoupan.Row=grdLoupan.Row+1
grdLoupan.Col=0
IfNotIsNull(rs_loupan.Fields(0))ThengrdLoupan.Text=rs_loupan.Fields(0)_
ElsegrdLoupan.Text=""
grdLoupan.Col=1
IfNotIsNull(rs_loupan.Fields(4))ThengrdLoupan.Text=rs_loupan.Fields(4)_
ElsegrdLoupan.Text=""
grdLoupan.Col=2
IfNotIsNull(rs_loupan.Fields(5))ThengrdLoupan.Text=rs_loupan.Fields(5)_
ElsegrdLoupan.Text=""
grdLoupan.Col=3
grdLoupan.Text=CStr(rs_loupan.Fields(4)-rs_loupan.Fields(5))
grdLoupan.Col=4
IfNotIsNull(rs_loupan.Fields(6))ThengrdLoupan.Text=rs_loupan.Fields(6)_
ElsegrdLoupan.Text=""
grdLoupan.Col=5
IfNotIsNull(rs_loupan.Fields(2))ThengrdLoupan.Text=rs_loupan.Fields(2)_
ElsegrdLoupan.Text=""
grdLoupan.Col=6
grdLoupan.Text=CStr(rs_loupan.Fields(2)*rs_loupan.Fields(4))
rs_loupan.MoveNext
Loop
EndIf
displayerror:
IfErr.Number<>0Then
MsgBoxErr.Description
EndIf
EndSub
PublicSubsetgrid()
DimiAsInteger
GoToseterror
WithgrdLoupan
.ScrollBars=flexScrollBarBoth
.FixedCols=1
.Rows=rs_loupan.RecordCount+1
.Cols=7
.SelectionMode=flexSelectionByRow
Fori=0To.Rows-1
.RowHeight(i)=315
Next
Fori=0To.Cols-1
.ColWidth(i)=1300
Nexti
EndWith
ExitSub
seterror:
MsgBoxErr.Description
EndSub
PublicSubsetgridhead()
GoTosetheaderror
grdLoupan.Row=0
grdLoupan.Col=0
grdLoupan.Text="楼盘编号"
grdLoupan.Col=1
grdLoupan.Text="建筑面积"
grdLoupan.Col=2
grdLoupan.Text="套内面积"
grdLoupan.Col=3
grdLoupan.Text="分摊面积"
grdLoupan.Col=4
grdLoupan.Text="户型"
grdLoupan.Col=5
grdLoupan.Text="单位报价"
grdLoupan.Col=6
grdLoupan.Text="楼盘报价"
ExitSub
setheaderror:
MsgBoxErr.Description
EndSub
4.4实现客户管理功能
4.4.1建立客户资料登记窗体(frmKehuLogin)
本窗体主要用来对客户资料进行登记,包括添加、修改、删除等操作。
1、界面设计
在工程中添加一个窗体,将其命名为frmKehuLogin。在此窗体上放置1个Frame控件、12个Label控件、10个Text控件、4个CommandButton控件和2个ComboBox控件。
设置好控件及属性的frmKehuLogin窗体如图9所示。
图9"客户资料登记"窗体设计图
2、工作流程
窗体加载时使用ADO进行数据库的连接,同时在表格中显示出数据。
单击"增加"按钮时,所有的文本框为可用状态,并且设置为空,"增加"按钮变为"保存"按钮。在输入完新信息后,单击"保存"按钮,判断客户编号是否重复,对于不重复的客户保存入库。
单击"删除"按钮时,首先询问工作人员是否确定要删除该信息,在得到确认后取得用户选定的客户信息,根据户型编号进行删除。
单击"修改"按钮时,所有的文本框为可编辑状态,"修改"按钮变为"保存"按钮。修改后,单击"保存"按钮,进行数据库的更新。
3、添加代码
(1)"增加"按钮的"Click"事件代码
PrivateSubcmdadd_Click()
GoToadderror
Ifcmdadd.Caption="保存"Then
cmdadd.Caption="增加"
IfTrim(txtID.Text)=""Then
MsgBox"身份证号不能为空!",vbOKOnly+vbExclamation
txtID.SetFocus
ExitSub
EndIf
IfTrim(txtname.Text)=""Then
MsgBox"姓名不能为空!",vbOKOnly+vbExclamation
txtname.SetFocus
ExitSub
EndIf
IfTrim(Combo1.Text)=""Then
MsgBox"请选择性别!",vbOKOnly+vbExclamation
Combo1.SetFocus
ExitSub
EndIf
rs_kehu.MoveFirst
DimiAsInteger
Fori=0Tors_kehu.RecordCount-1
Ifrs_kehu.Fields(0)=txtID.TextThen
MsgBox"身份证号重复!",vbOKOnly+vbExclamation
txtID.SetFocus
ExitSub
EndIf
rs_kehu.MoveNext
Nexti
rs_kehu.MoveLast
rs_kehu.AddNew
rs_kehu.Fields(0)=txtID.Text
rs_kehu.Fields(1)=txtname.Text
rs_kehu.Fields(2)=Combo1.Text
IfTrim(txttel.Text)=""Then'电话信息
rs_kehu.Fields(3)=Null
Else
rs_kehu.Fields(3)=txttel.Text
EndIf
IfTrim(txtcell.Text)=""Then'手机信息
rs_kehu.Fields(4)=Null
Else
rs_kehu.Fields(4)=txtcell.Text
EndIf
IfTrim(txtduty.Text)=""Then'职业信息
rs_kehu.Fields(5)=Null
Else
rs_kehu.Fields(5)=txtduty.Text
EndIf
rs_kehu.Fields(6)=DTPicker1.Value'出生日期信息
IfTrim(txtemail.Text)=""Then
rs_kehu.Fields(7)=Null
Else
rs_kehu.Fields(7)=txtemail.Text
EndIf
IfTrim(txtcard.Text)=""Then'车牌号信息
rs_kehu.Fields(8)=Null
Else
rs_kehu.Fields(8)=txtcard.Text
EndIf
IfTrim(txtyoubian.Text)=""Then'邮编信息
rs_kehu.Fields(9)=Null
Else
rs_kehu.Fields(9)=txtyoubian.Text
EndIf
IfTrim(txtadd.Text)=""Then'通讯地址信息
rs_kehu.Fields(10)=Null
Else
rs_kehu.Fields(10)=txtadd.Text
EndIf
IfTrim(txtbeizhu.Text)=""T
上一篇:
VBACCTI电话语音应答系统(论文和程序)
下一篇:
扛起年轻化大旗,哈弗F系玩转行业新风潮