bo1(1))&"'"
Setmrcc=ExecuteSQL(txtSQL,MsgText)
'判断数据集对象是否为空
IfNotmrcc.EOFThen
txtairline=mrcc.Fields(0)
ticketCsum=mrcc!planeNO
IfTrim(Combo1(2))="经济舱"Then
Combo1(3).Clear
Combo1(3).AddItemmrcc.Fields(7)
Combo1(3).ListIndex=0
ElseIfTrim(Combo1(2))="公务舱"Then
Combo1(3).Clear
Combo1(3).AddItemmrcc.Fields(8)
Combo1(3).ListIndex=0
Else
Combo1(3).Clear
Combo1(3).AddItemmrcc.Fields(9)
Combo1(3).ListIndex=0
EndIf
EndIf
'关闭数据集对象
mrcc.Close
'选择制定客机编号的有关信息
txtSQL="select*fromplaneInfowhereplaneNO='"&Trim(ticketCsum)&"'"
Setmrcc=ExecuteSQL(txtSQL,MsgText)
'判断数据集对象是否为空
IfNotmrcc.EOFThen
ticketCsum=mrcc.Fields(4)
ticketMsum=mrcc.Fields(5)
ticketFsum=mrcc.Fields(6)
EndIf
'关闭数据集对象
mrcc.Close
EndIf
ElseIfIndex=4Then
'选择相应客户姓名的记录
txtSQL="selectcustomerNO,customerTypefromcustomerInfowherecustomerName='"&Trim(Combo1(4))&"'"
Setmrcc=ExecuteSQL(txtSQL,MsgText)
'判断数据集对象是否为空
IfNotmrcc.EOFThen
txtcustomer=mrcc.Fields(0)
Combo1(5).Clear
Combo1(5).AddItemmrcc.Fields(1)
Combo1(5).ListIndex=0
'选择客户对应的客户类型
txtSQL="selectdistinctdiscountfromcustomerTypewherectypeName='"&Trim(Combo1(5))&"'"
Setmrcd=ExecuteSQL(txtSQL,MsgText)
'判断数据集对象是否为空
IfNotmrcd.EOFThen
Combo1(6).Clear
Combo1(6).AddItemmrcd.Fields(0)
Combo1(6).ListIndex=0
EndIf
'关闭数据集对象
mrcd.Close
EndIf
'关闭数据集对象
mrcc.Close
EndIf
EndSub
选择航线信息和客户信息后,输入机票日期,单击"保存"按钮,订票信息保存到数据库中。除了对数据格式的检查,还要检查相应航班是否满员。代码如下:
PrivateSubcmdSave_Click()
DimintCountAsInteger
DimsMegAsString
DimMsgTextAsString
'判断列表框中内容是否为空
ForintCount=0To6
IfTrim(Combo1(intCount)&"")=""Then
SelectCaseintCount
Case0
sMeg="出发城市"
Case1
sMeg="到达城市"
Case2
sMeg="舱位类型"
Case3
sMeg=""
Case4
sMeg="顾客姓名"
Case5
sMeg=""
Case6
sMeg=""
EndSelect
sMeg=sMeg&"不能为空!"
MsgBoxsMeg,vbOKOnly+vbExclamation,"警告"
Combo1(intCount).SetFocus
ExitSub
EndIf
NextintCount
'判断机票日期是否输入
IfTrim(txtItem(0))=""Then
sMeg="出发日期不能为空!"
MsgBoxsMeg,vbOKOnly+vbExclamation,"警告"
txtItem(0).SetFocus
ExitSub
EndIf
'判断输入机票日期是否为日期型数据
IfIsDate(txtItem(0))Then
txtItem(0)=Format(txtItem(0),"yyyy-mm-dd")
Else
MsgBox"时间应输入日期(yyyy-mm-dd)!",vbOKOnly+vbExclamation,"警告"
txtItem(0).SetFocus
ExitSub
EndIf
'判断是否有相同内容的记录
txtSQL="select*fromticketInfowhereticketNO<>'"&Trim(txtticket)&"'andcustomerNO='"&Trim(txtcustomer)&"'andticketDate='"&Trim(txtItem(0))&"'"
Setmrc=ExecuteSQL(txtSQL,MsgText)
Ifmrc.EOF=FalseThen
MsgBox"已经存在相同顾客订票的记录!",vbOKOnly+vbExclamation,"警告"
txtItem(1).SetFocus
ExitSub
EndIf
'先删除已有记录
txtSQL="deletefromticketInfowhereticketNO='"&Trim(txtticket)&"'"
Setmrc=ExecuteSQL(txtSQL,MsgText)
'判断航班是否满员
txtSQL="select*fromticketInfowhereairlineNO='"&Trim(txtairline)&"'andticketDate='"&Trim(txtItem(0))&"'andserviceType='"&Trim(Combo1(2))&"'"
Setmrc=ExecuteSQL(txtSQL,MsgText)
'判断数据集对象是否为空
IfNotmrc.EOFThen
IfCombo1(2)="经济舱"Then
Ifmrc.RecordCount>(ticketCsum-1)Then
MsgBox"对不起,该航班经济舱已经满员",vbOKOnly+vbExclamation,"警告"
ExitSub
EndIf
ElseIfCombo1(2)="公务舱"Then
Ifmrc.RecordCount>(ticketMsum-1)Then
MsgBox"对不起,该航班公务舱已经满员",vbOKOnly+vbExclamation,"警告"
ExitSub
EndIf
Else
Ifmrc.RecordCount>(ticketFsum-1)Then
MsgBox"对不起,该航班头等舱已经满员",vbOKOnly+vbExclamation,"警告"
ExitSub
EndIf
EndIf
EndIf
'关闭数据集对象
mrc.Close
'再加入新记录
txtSQL="select*fromticketInfo"
Setmrc=ExecuteSQL(txtSQL,MsgText)
mrc.AddNew
mrc.Fields(0)=txtticket
mrc.Fields(1)=txtcustomer
ForintCount=2To4
mrc.Fields(intCount)=Trim(Combo1(intCount+2))
NextintCount
mrc.Fields(5)=txtairline
ForintCount=6To7
mrc.Fields(intCount)=Trim(Combo1(intCount-6))
NextintCount
mrc.Fields(8)=Trim(txtItem(0))
ForintCount=9To10
mrc.Fields(intCount)=Trim(Combo1(intCount-7))
NextintCount
mrc.Fields(11)=Trim(Combo1(3)*Combo1(6)/100)
mrc.Fields(12)=txtItem(1)
'更新数据集
mrc.Update
'关闭数据集对象
mrc.Close
IfgintKmode=1Then
MsgBox"订票成功!航班为"&Trim(txtItem(0))&"从"&Trim(Combo1(0))&"到"&Trim(Combo1(1))&"的"&Trim(Combo1(2))&"机票,票价为"&Trim(Combo1(3)*Combo1(6)/100)&"元!",vbOKOnly+vbExclamation,"订票记录"
ForintCount=0To1
txtItem(intCount)=""
NextintCount
mblChange=False
'重新显示机票信息
UnloadfrmTicket
frmTicket.txtSQL="select*fromticketInfo"
frmTicket.Show
ElseIfgintKmode=2Then
MsgBox"修改订票信息成功!修改后的航班为"&Trim(txtItem(0))&"从"&Trim(Combo1(0))&"到"&Trim(Combo1(1))&"的"&Trim(Combo1(2))&"机票,票价为"&Trim(Combo1(3)*Combo1(6)/100)&"元!",vbOKOnly+vbExclamation,"订票记录"
UnloadMe
'重新显示机票信息
UnloadfrmTicket
frmTicket.txtSQL="select*fromticketInfo"
frmTicket.Show
EndIf
EndSub
11.3修改订票信息
在机票信息列表中选择需要修改的记录,然后单击"修改"按钮,当前记录将出现在如图9-19所示的窗体中。修改完毕,单击"保存"按钮,修改后的记录保存到数据库中。
11.4删除订票信息
选择机票信息列表中需要删除的记录,然后单击"删除"按钮,可以删除所选记录。
11.5查询订票信息
在如图9-25所示的机票信息列表中,单击"查询"按钮,出现如图9-27所示的对话框。
图9-27机票信息查询窗体
窗体载入时自动在列表框中添加出发城市、到达城市和舱位类型的信息,代码如下:
PrivateSubForm_Load()
DimiAsInteger
DimsSqlAsString
DimtxtSQLAsString
DimMsgTextAsString
DimmrcAsADODB.Recordset
'清除列表框中内容
Fori=0To2
Combo1(i).Clear
Nexti
'选择所有与出发城市有关的信息
txtSQL="selectdistinctdepartCityfromairlineInfo"
Setmrc=ExecuteSQL(txtSQL,MsgText)
'判断数据集对象是否为空
IfNotmrc.EOFThen
DoWhileNotmrc.EOF
Combo1(0).AddItemmrc.Fields(0)
mrc.MoveNext
Loop
EndIf
'关闭数据集对象
mrc.Close
'选择所有与到达城市有关的信息
txtSQL="selectdistinctarrivalCityfromairlineInfo"
Setmrc=ExecuteSQL(txtSQL,MsgT
上一篇:
VB航空公司管理信息系统(毕业论文+程序)(论文和程序)
下一篇:
关于企业电子商务网站的平安控制