

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 《數(shù)據(jù)庫原理》課程設計報告</p><p> 課 程 設 計 題 目: 車站售票管理系統(tǒng) </p><p> 學 院 名 稱: 電子與信息工程學院 </p><p> 專
2、 業(yè): 計算機應用技術 </p><p> 學 生 姓 名: 學號: </p><p> 指 導 教 師: 職稱: 講師 </p><p> 年 月
3、 日</p><p><b> 目 錄</b></p><p> 1、需求求報告分析…………………………………………………………………………1</p><p> 1、1 概述…………………………………………………………………………1</p><p> 1、2 系統(tǒng)功能分析………………………………………………
4、………………1</p><p> 1、3 數(shù)據(jù)流圖……………………………………………………………………2</p><p> 1、4 數(shù)據(jù)字典……………………………………………………………………3</p><p> 2、概念及邏輯結構設計…………………………………………………………………7</p><p> 2、1 ER圖 ………………
5、………………………………………………………7</p><p> 2、2 關系模式……………………………………………………………………8</p><p> 2、3數(shù)據(jù)結構……………………………………………………………………9</p><p> 3、數(shù)據(jù)庫設計………………………………………………………………………………10</p><p>
6、 4、系統(tǒng)軟件結構設計 …………………………………………………………………11</p><p> 4、1 系統(tǒng)功能設計………………………………………………………………11</p><p> 4、2 其它需求……………………………………………………………………12</p><p> 4、3說明…………………………………………………………………………12<
7、/p><p> 5、程序模塊設計 …………………………………………………………………………15</p><p> 5、1 功能模塊詳細設計…………………………………………………………15</p><p> 5、2 界面設計……………………………………………………………………16</p><p> 5、3 附錄:系統(tǒng)程序源代碼…………………
8、…………………………………16</p><p> 參考文獻………………………………………………………………………………………25</p><p><b> 1系統(tǒng)需求分析報告</b></p><p><b> 1.1概述</b></p><p> 汽車售票管理系統(tǒng)主要用于車站日常的票務處理。
9、車售票管理系統(tǒng)在正常運行中需要對使用該系統(tǒng)的主要是汽車站售票人員、汽車站售票工作的管理人員與系統(tǒng)管理員。為達到操作過程中的直觀、方便、實用、安全等要求,我們組在這個系統(tǒng)中采用模塊化程序設計的方法,便于系統(tǒng)功能的組合和修改,以及擴充和維護。</p><p><b> 1.2系統(tǒng)功能分析</b></p><p> 根據(jù)需求分析,本系統(tǒng)要實現(xiàn)以下的基本功能。</p
10、><p> 1.登錄功能:分為汽車站售票人員和系統(tǒng)管理員兩種權限登陸。用戶通過</p><p> 輸入不同用戶名和密碼進行身份驗證,系統(tǒng)通過用戶名和密碼判斷不同用戶的權限,從而確定該用戶可以執(zhí)行的操作。</p><p> 2.車票信息查詢功能:由汽車站的普通售票人員通過不同的檢索入口,查詢車票信息,并進行排序。</p><p> 3.修改
11、功能:汽車站售票人員、汽車站售票工作的管理人員能夠修改自身的用戶名和密碼,系統(tǒng)管理員則能實現(xiàn)系統(tǒng)用戶與普通用戶的添加,修改普通用戶與系統(tǒng)管理員的密碼,以此確保該系統(tǒng)能夠安全操作,避免不必要的損失。</p><p> 4.匯總功能:對當天車票的信息進行匯總。</p><p><b> 1.3數(shù)據(jù)流圖</b></p><p><b>
12、 1.4數(shù)據(jù)字典</b></p><p><b> 1.數(shù)據(jù)項</b></p><p> 票號、票價、車次、日期、車型、開車時間、票種、座位號、起始站、終點站、身份證號、銀行卡號、數(shù)量、退票時間、退票手續(xù)費、訂票時間、訂票手續(xù)費</p><p><b> 2.數(shù)據(jù)結構</b></p>&l
13、t;p> 表1.1 車票的數(shù)據(jù)結構</p><p><b> 3.數(shù)據(jù)流</b></p><p> 數(shù)據(jù)流編號:D04-01</p><p><b> 數(shù)據(jù)流名稱:車票</b></p><p><b> 簡述:車票有關信息</b></p><
14、;p> 數(shù)據(jù)流來源:用戶執(zhí)行售票操作結果</p><p> 數(shù)據(jù)流去向:購票旅客</p><p> 數(shù)據(jù)流組成:車票編號+車票類型+車次信息+座位信息+票價信息</p><p><b> 4.數(shù)據(jù)存儲</b></p><p> 售票記錄:票號,起始站,終點站,票價,車次,日期,開車時間,</p>
15、;<p> 車型,票種,座位號,售出時間</p><p> 退票記錄:票號,起始站,終點站,票價,車次,日期,開車時間,</p><p> 車型,票種,座位號,退票時間</p><p> 訂票記錄:票號,起始站,終點站,票價,車次,日期,開車時間,</p><p> 車型,票種,座位號,訂票時間,顧客身份證號</
16、p><p> 缺票記錄:票號,起始站,終點站,票價,車次,日期,開車時間,</p><p><b> 車型,票種 </b></p><p> 車票記錄:票號,起始站,終點站,票價,車次,日期,開車時間,</p><p> 車型,票種,座位號,售出時間,票數(shù)</p><p><b>
17、 5.處理過程</b></p><p> 車票匯總:工作人員將一天所售出的票進行統(tǒng)計,包括票數(shù),票類,形成確定的車票記錄。</p><p> 查詢:將顧客需要的車票信息輸入系統(tǒng),并查詢其是否可供應。</p><p> 查詢顧客信息:為訂票所設,將顧客的準確信息記錄,為其預定所車票。</p><p> 處理買票:進行買票交易
18、,把顧客需要的票(可供應)售出,并在系統(tǒng)中作相應記錄,確定車票記錄。</p><p> 處理訂票:進行訂票交易,工作人員為顧客預定其所需車票,并在系統(tǒng)中作相應記錄,確定訂票記錄。</p><p> 處理退票:進行退票交易,工作人員為顧客辦理退票手續(xù),并在系統(tǒng)中作相應記錄,確定退票記錄。</p><p> 2概念及邏輯結構設計</p><p&
19、gt;<b> 2.1 E-R圖</b></p><p> 本系統(tǒng)根據(jù)以上的設計規(guī)劃出的實體有:車票實體、車站實體、顧客實體。各個實體具體的描述E-R圖如下:</p><p><b> 圖2-1車票ER圖</b></p><p> 圖2-2 顧客ER圖</p><p> 圖2-3實體之間E
20、R圖</p><p><b> 2.2關系模型:</b></p><p> 車票與顧客之間的聯(lián)系</p><p><b> 售票 1:N</b></p><p> 車票(票號,車次,日期,車型,票價,開車時間,票種,座位號,起始站,終點站)</p><p> 顧客
21、(身份證號,銀行卡號,票號)</p><p><b> 退票1:N</b></p><p> 車票(票號,車次,日期,車型,票價,開車時間,票種,座位號,起始站,終點站)</p><p> 顧客(身份證號,銀行卡號,票號,退票時間,退票手續(xù)費)</p><p><b> 訂票1:N</b>&
22、lt;/p><p> 車票(票號,車次,日期,車型,票價,開車時間,票種,座位號,起始站,終點站)</p><p> 顧客(身份證號,銀行卡號,票號,日期,交易時間,交易金額,數(shù)量,起始站,終點站)</p><p><b> 2.3數(shù)據(jù)庫結構</b></p><p> 表2.1 Car表詳細設計</p>
23、<p> 表2.2 Seat表詳細設計</p><p> 表2.3 PriceDiscount表詳細設計</p><p> 表2.4 Price表詳細設計</p><p> 表2.5 Type表詳細設計</p><p><b> 3數(shù)據(jù)庫設計</b></p><p> 本
24、車站售票系統(tǒng)有兩個實體,分別是車票和顧客,利用SQL建表如下:</p><p><b> 車票</b></p><p><b> 顧客</b></p><p><b> 4 系統(tǒng)軟件結構</b></p><p> 4.1.系統(tǒng)功能設計</p><p&
25、gt; 汽車站售票管理系統(tǒng)主要設有五個主要功能模塊:分別是車次管理、票價管理、票務管理、用戶管理和查詢管理。如圖4-1所示。</p><p><b> 車次管理模塊</b></p><p> 該模塊主要實現(xiàn)車次信息的編輯。車次管理中的數(shù)據(jù)源為Access數(shù)據(jù)庫中Car表,在此管理部分中,能夠使用界面操作實現(xiàn)車次信息的編輯,并將數(shù)據(jù)庫中的數(shù)據(jù)按照編輯的要求來及時更
26、新數(shù)據(jù)表中的相關數(shù)據(jù)。</p><p><b> 2.票價管理模塊</b></p><p> 該模塊主要實現(xiàn)票價信息的錄入、修改與刪除以及票價折扣信息的錄入、修改與刪除。 票價詳細信息的錄入、修改、刪除,它的數(shù)據(jù)源為Access數(shù)據(jù)庫的Price表。在此管理部分中,通過票價管理(FrmPriceManage)界面來選擇記錄并決定執(zhí)行何種操作,是修改、添加或刪除。當
27、命令為修改或者添加時則自動跳轉到票價編輯窗體(FrmPriceEdit)實現(xiàn)票價信息的編輯并更新數(shù)據(jù)庫中相應數(shù)據(jù)記錄。</p><p><b> 3.票務管理模塊</b></p><p> 票務管理部分實現(xiàn)前臺售票、前臺退票功能。主要完成售票、遠程售票、廢票、取消廢票功能、改簽票、退票、取消退票功能、補票、售票查詢和票款結算單填寫等功能。</p>&
28、lt;p><b> 4.用戶管理模塊</b></p><p> 該模塊主要實現(xiàn)用戶添加,用戶信息修改與用戶的刪除。所有系統(tǒng)用戶的管理,包括系統(tǒng)普通用戶與系統(tǒng)管理員。此管理模塊數(shù)據(jù)源為Access數(shù)據(jù)庫的Users表。在系統(tǒng)主界面中首先進入的是名稱為FrmUserMan的用戶管理主窗體,通過提取用戶名、用戶類型來查看用戶具體信息,選擇添加或刪除用戶進入名為FrmUserEdit的用戶
29、編輯界面進行操作,操作完成便更新數(shù)據(jù)庫數(shù)據(jù)。</p><p> 5.查詢管理模塊 </p><p> 該模塊主要實現(xiàn)擁護通過查詢界面可以根據(jù)條件進行車次時刻、車次票價查詢。</p><p><b> 4-1.功能模塊圖</b></p><p><b> 4.2其他需求</b></p
30、><p> 汽車站售票系統(tǒng)數(shù)據(jù)庫中的數(shù)據(jù)量十分龐大,而且更新速度十分快。在數(shù)據(jù)大小方面要求數(shù)據(jù)的屬性要設置合理,假如是數(shù)據(jù)的屬性值越大,則數(shù)據(jù)本身所占用的容量也就十分的龐大,不但會造成傳輸?shù)牟环奖闵踔铃e誤,也更加重系統(tǒng)的負擔,有可能削弱系統(tǒng)運行速度,使得系統(tǒng)無法達到預期的目的。另外,在整個系統(tǒng)當中要確保數(shù)據(jù)在保存與傳遞過程中的安全,以免發(fā)生嚴重的錯誤,造成巨大的損失。</p><p><
31、;b> 4.3說明</b></p><p><b> 售票 </b></p><p> 正常出售本站所有車次車票,并按要求打印出車票。 </p><p><b> 遠程售票 </b></p><p> 正常出售遠程車站所有車次車票,并按遠程車站的要求打印出車票。 <
32、/p><p><b> 廢票 </b></p><p> 在正常售票過程中, 可能因操作失誤或打印機械故障等原因造成錯票而作廢車票。 </p><p><b> 取消廢票 </b></p><p> 當廢票時,發(fā)現(xiàn)廢的票是不應該廢的,即為正常票,需要通過取消廢票來實現(xiàn)。 </p>
33、<p><b> 遠程廢票 </b></p><p> 對所售遠程車票作廢票處理。 </p><p><b> 退票 </b></p><p> 在正常退票時間內辦理退票,并根據(jù)退票規(guī)定收取一定的手續(xù)費。 </p><p><b> 遠程退票 </b><
34、;/p><p> 對所售遠程車票作退票處理。 </p><p><b> 取消退票 </b></p><p> 當退票時,發(fā)現(xiàn)退的票是不應該退的,即為正常的票,需要通過取消退票來實現(xiàn)。 </p><p><b> 改簽票 </b></p><p> 由于乘客或車站某種原
35、因需對已出售的車票作更換車次的車票。改簽僅允許改簽一次。 </p><p><b> 遠程改簽票 </b></p><p> 對所售遠程車票作改簽處理。 </p><p><b> 注銷票 </b></p><p> 刪除某些由于調試程序所用的票記錄及其影響。 </p><
36、;p><b> 補票 </b></p><p> 只能在超過售票時限后進行,且在未發(fā)車之前,在統(tǒng)計時注意對非微機售票的票的處理(例如:剪刀票)。 </p><p><b> 售票查詢 </b></p><p> 通過一定的授權和設定售票員可以查詢在設定時間范圍內或多少張票以前的出售、作廢、改簽和退票的情況,并
37、對有權限的人員可有累計票款服務。 </p><p><b> 票款結算單 </b></p><p> 售票員每天售完車票后填寫每日結算單,以便財務人員查詢。 </p><p><b> 重打車票 </b></p><p> 在正常售票過程中, 可能因打印機械故障等原因造成錯票而重新打印車票。
38、 </p><p><b> 售票類型 </b></p><p> 車票中所有聯(lián)都應有的信息為車次、起止站點、票價、發(fā)車日期時間,而正聯(lián)所特有的信息為售票員工號、檢票口、是否改簽票、車票上應有的信息:車票固有票號、計算機打印的票號、票號條形碼(僅用于自動檢票的車站)。 </p><p><b> ?。?)車票類型 </b&g
39、t;</p><p> 1)正常班次車票:發(fā)售的當天或預售正常輪班車次的車票。 </p><p> 2)遠程售票:發(fā)售遠程車站車次的車票,其打印格式同遠程車站。 </p><p> 3)流水班次車票:發(fā)售的流水班次車票。 </p><p> 4)退票和改簽票: </p><p><b> 退票分為
40、</b></p><p> A、正常退票。辦理標準規(guī)定退票時間內的退票。 </p><p> B、強行退票。在超過時限后退票,即強行退票。 </p><p> 補票:補票只能在超過售票時限后進行,且必須在未發(fā)車之前。 </p><p> 訂票:設定定票有效期限,在有有效時限保留座位,有效時外釋放座位等。 </p>
41、;<p><b> 票種的定義 </b></p><p><b> ?、偃珒r票 </b></p><p> ?、诎雰r票 允許設定可用標志,自由定義名稱。 </p><p> ③免票 只允許設定可用標志。 </p><p> ④優(yōu)惠票1-3 允許設定可用標志,自由定義名稱。 <
42、;/p><p> ⑤折扣票 對原票價的基礎上進行一定的打折,有嚴格的權限控制。 </p><p><b> 5 程序模塊設計</b></p><p> 5.1功能模塊詳細設計</p><p> 5.1.1 車次管理模塊代碼實現(xiàn)</p><p> Private Sub Cmd_OK_Clic
43、k()</p><p> '檢查用戶錄入數(shù)據(jù)的有效性</p><p> If Len(Trim(txtCarID)) = 0 Then</p><p> MsgBox "請輸入車次編號"</p><p> txtCarID.SetFocus</p><p><b> Ex
44、it Sub</b></p><p><b> End If</b></p><p> If Len(Trim(txtOutTime)) = 0 Then</p><p> MsgBox "請輸入發(fā)車時間"</p><p> txtOutTime.SetFocus</p>
45、;<p><b> Exit Sub</b></p><p><b> End If</b></p><p> '把用戶錄入的數(shù)據(jù)賦值到數(shù)據(jù)庫對象變量中</p><p> With MyType</p><p> .CarID = MakeStr(txtCarID)
46、 '車次編號</p><p> .OutSetTime = MakeStr(TimeEdit) '發(fā)車時間</p><p> .RunninWay = MakeStr(WayEdit) '經營路線</p><p> .CarType = MakeStr(TypeEdit) '車輛類型</p><p>
47、; .PlateNumber = MakeStr(CNnEdit) '車牌號</p><p> .CarHolder = MakeStr(HolderEdit) '責任人</p><p> .SeatLimit = MakeStr(LSeatEdit) '額定座位</p><p> '根據(jù)變量Modify決定是插入新數(shù)據(jù),
48、還是修改已有的數(shù)據(jù)</p><p> If Modify = False Then</p><p> .Insert '插入新數(shù)據(jù)</p><p><b> Else '修改</b></p><p> .Update (nId) '修改已有的數(shù)據(jù)</p><p>
49、<b> End If</b></p><p><b> End With</b></p><p> Unload Me '關閉窗口</p><p> 5.1.2 票價管理模塊代碼實現(xiàn)</p><p> 票價管理部分代碼如下(信息添加過程):</p><p&g
50、t; Private Sub Cmd_Add_Click()</p><p> '初始化FrmDiscountEdit信息</p><p> FrmPriceEdit.txtTerminalName = ""</p><p> FrmPriceEdit.txtTNPYCode = ""</p>&
51、lt;p> FrmPriceEdit.txtCarID = ""</p><p> FrmPriceEdit.txtTicketPrice = ""</p><p> FrmPriceEdit.Modify = False</p><p> FrmPriceEdit.VarTermanalID = OriTerm
52、inalID</p><p> FrmPriceEdit.Show </p><p> RefreshData</p><p><b> End Sub</b></p><p> 5.1.3用戶管路模塊代碼實現(xiàn)(編輯窗體代碼):</p><p> Private Sub Cmd_OK_C
53、lick()</p><p> If Trim(txtUserName) = "" Then</p><p> MsgBox "請輸入用戶名"</p><p> txtUserName.SetFocus</p><p><b> Exit Sub</b></p>
54、<p><b> End If</b></p><p> If Len(txtPass) < 5 Then</p><p> MsgBox "密碼長度不能小于5"</p><p> txtPass.SetFocus</p><p> txtPass.SelStart =
55、0</p><p> txtPass.SelLength = Len(txtPass2)</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> If txtPass <> txtPass2 Then</p>
56、;<p> MsgBox "密碼和確認密碼不相同,請重新確認"</p><p> txtPass2.SetFocus</p><p> txtPass2.SelStart = 0</p><p> txtPass2.SelLength = Len(txtPass2)</p><p><b>
57、 Exit Sub</b></p><p><b> End If</b></p><p> '判斷是否存在同名用戶</p><p> With MyUser</p><p> If Modify = False Or OriUser <> Trim(txtUserName) T
58、hen</p><p> If .In_DB(Trim(txtUserName)) = True Then</p><p> MsgBox "用戶名已存在,請重新輸入"</p><p> txtUserName.SetFocus</p><p> txtUserName.SelStart = 0</p>
59、<p> txtUserName.SelLength = Len(txtUserName)</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> 模塊中的程序代碼如下:</p><p> Public adoCo
60、n As New ADODB.Conncetion</p><p> Public adors As New ADODB.Recordset</p><p><b> '連接數(shù)據(jù)庫</b></p><p> Public Sub main()</p><p> Set adoCon = New ADODB
61、.Connection</p><p> adoCon.Open = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\ 汽車站售票管理系統(tǒng).mdb" & ";Persist Security Info=False"</p><p&g
62、t; FrmLogin.Show</p><p> FrmLogin.txtUser.SetFocus</p><p><b> End Sub</b></p><p><b> 5.2 界面設計</b></p><p> 系統(tǒng)主界面設計如下,主界面頂端顯示不同管理模塊,點擊則進入相應界面
63、。下端顯示系統(tǒng)當前所處日期和時間。</p><p> 圖14 系統(tǒng)主界面設計</p><p> 5.3附錄:系統(tǒng)程序源代碼</p><p> (1)登陸窗體(FrmLogin)代碼</p><p> Public PasswordKey As String</p><p> Public NameKey As
64、 String</p><p> Public Try_times As Integer</p><p> '取消鍵退出登陸界面</p><p> Private Sub Cmd_Cancel_Click()</p><p><b> Unload Me</b></p><p>&
65、lt;b> End Sub</b></p><p> Private Sub Cmd_OK_Click()</p><p><b> '數(shù)據(jù)庫有效性檢查</b></p><p> If Trim(txtUser) = "" Then</p><p> MsgBox
66、"請輸入用戶名"</p><p> txtUser.SetFocus</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> If Trim(txtPwd) = "" Then</p&
67、gt;<p> MsgBox "請輸入密碼"</p><p> txtPwd.SetFocus</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p><b> End Sub</
68、b></p><p> Private Function MakeStr() As String</p><p> NameKey = Str(txtUser)</p><p> PasswordKey = Str(txtPwd)</p><p><b> '判斷用戶是否存在</b></p&g
69、t;<p> If MyUser.In_DB(NameKey) = Flase Then</p><p> MsgBox "用戶名不存在"</p><p> Try_times = Try_times + 1</p><p> If Try_times >= 3 Then</p><p> M
70、sgBox "您已經三次嘗試進入本系統(tǒng),均不成功,系統(tǒng)將關閉"</p><p> DBapi_Disconnect</p><p><b> End</b></p><p><b> Else</b></p><p> Exit Function</p>&
71、lt;p><b> End If</b></p><p><b> End If</b></p><p><b> '判斷密碼是否正確</b></p><p> MyUser.GetINfo (NameKey)</p><p> If MyUser.Pw
72、d <> PasswordKey Then</p><p> MsgBox "密碼錯誤"</p><p> Try_times = Try_times + 1</p><p> If Try_times >= 3 Then</p><p> MsgBox "您已經三次嘗試進入本系統(tǒng),均不
73、成功,系統(tǒng)將關閉"</p><p> DBapi_Disconnect</p><p><b> End</b></p><p><b> Else</b></p><p> Exit Function</p><p><b> End If&l
74、t;/b></p><p><b> End If</b></p><p> '登陸成功,將當前用戶的信息保存在CurUser中</p><p> CurUser.UserName = MyUser.UserName</p><p> CurUser.User_type = MyUser.User_
75、type</p><p> CurUserEmpID = MyUser.EmpID</p><p> '關閉自己并顯示主窗體</p><p><b> Unload Me</b></p><p> FrmMain.Show</p><p> End Function</p&
76、gt;<p> ?。?)主窗體(FrmMain)代碼</p><p> '設置數(shù)據(jù)庫連接字符串</p><p> Conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & " \汽車站售票管理系統(tǒng).mdb " & "
77、;;Presist Security Info=False"</p><p><b> '系統(tǒng)登陸界面</b></p><p> FrmLogin.Show</p><p><b> End Sub</b></p><p> Private Sub PJCX_Click()
78、</p><p><b> End Sub</b></p><p> Private Sub PJGL_Click()</p><p> FrmPriceManage.Show</p><p><b> End Sub</b></p><p> Private Su
79、b SPGL_Click()</p><p> FrmTicketSell.Show</p><p><b> End Sub</b></p><p> Private Sub TPGL_Click()</p><p> FrmBack.Show</p><p><b> En
80、d Sub</b></p><p> Private Sub XGMM_Click()</p><p> With FrmUserEdit</p><p> .OriUser = CurUser.UserName</p><p> .txtUserName = CurUser.UserName</p><
81、;p> If CurUser.User_type = 1 Then</p><p> .ComboType.AddItem "系統(tǒng)管理員"</p><p><b> Else</b></p><p> .ComboType.AddItem "普通用戶"</p><p>
82、;<b> End If</b></p><p> .ComboType.ListIndex = 0</p><p> .ComboType.Enabled = False</p><p> .Modify = True</p><p><b> .Show 1</b></p>
83、<p><b> End With</b></p><p><b> End Sub</b></p><p> Private Sub YHGL_Click()</p><p> If CurUser.User_type = 1 Then</p><p> FrmUserMa
84、n.Show</p><p><b> Else</b></p><p> MsgBox "沒有權限"</p><p><b> End If</b></p><p><b> End Sub</b></p><p> Pr
85、ivate Sub ZKGL_Click()</p><p> FrmDiscount.Show</p><p><b> End Sub</b></p><p> ?。?)售票窗體(FrmTicketSell)代碼</p><p> Private Sub Cmd_Cancel_Click()</p>
86、<p><b> Unload Me</b></p><p><b> End Sub</b></p><p> Private Sub Cmd_Search_Click()</p><p> 'GridRsfresh '根據(jù)條件查詢所有信息</p><p>
87、<b> End Sub</b></p><p> Private Sub Cmd_Sell_Click()</p><p> Dim ComboDate As String, TNPYCode As String, CarID As String</p><p> Dim left As Integer</p><
88、p> Dim seatnumber As String</p><p> Dim strseat As String</p><p> Dim ticketinformation As String</p><p> Dim informationbook As String</p><p> Dim cost As Long
89、</p><p> ComboDate = Trim(ComboDate.Text)</p><p> TNPY = Trim(txtTNPYCode)</p><p> CarID = Trim(txtCarID)</p><p> Dim strcnn</p><p><b> init_ado
90、</b></p><p> strQuery = "Select CarID,OutStation,Terminal,OutSetTime,Date,Sno From Seat join Price on Seat.CarID=Price.CarID Where Seat.date='" & _</p><p> Trim(ComboD
91、ate) & "'" & " and Price.TNPYCode='" & Trim(txtTNPYCode) & "'" </p><p> '根據(jù)輸入的信息,從表里得出查詢結果</p><p> rsdata.Open strQuery, cnnrs
92、data, , , adCmdText</p><p> If rsdata.EOF Then</p><p> MsgBox "車次或拼音碼輸入有誤,請重新輸入!", , "Error!"</p><p> ComboDate.Text = ""</p><p> TNPY
93、Code = ""</p><p> txtCarID = ""</p><p> ComboDate.SetFocus</p><p> ElseIf Len(TNPYCode) = 0 Then</p><p> MsgBox "請輸入拼音碼"</p>&l
94、t;p> txtTNPYCode.SetFocus</p><p> ElseIf Len(TNPYCode) > 4 Then</p><p> MsgBox "拼音碼過長,無效!"</p><p> txtCarID.SetFocus</p><p> ElseIf Len(CarID) = 0
95、Then</p><p> MsgBox "請輸入車次編號!"</p><p> txtCarID.SetFocus</p><p> ElseIf IsNumeric(Number) = False Then</p><p> MsgBox "車次編號應為數(shù)字!"</p><
96、;p> txtCarID.Text = ""</p><p> txtCarID.SetFocus</p><p><b> Else</b></p><p> rsdata.Close</p><p> strQuery = "select count(*) as tota
97、l from Seat where Seat.sell=false and Seat.date='" & _</p><p> Trim(ComboDate.Text) & "'" & " and Seat.CarID='" & Trim(txtCarID.Text) & "'&q
98、uot;</p><p> rsdata.Open strQuery, cnnrsdata, , , adCmdText '統(tǒng)計本車次的剩余的座位數(shù)</p><p> rsdata.MoveFirst</p><p> left = rsdata!total</p><p> If left = 0 Then</p&
99、gt;<p> MsgBox "本車次已經客滿!"</p><p> ComboDate.Text = ""</p><p> ComboSNno.Text = ""</p><p> txtTNPYCode.Text = ""</p><p&g
100、t; txtCarID.Text = ""</p><p> ComboDate.SetFocus</p><p><b> Else</b></p><p> rsdata.Close</p><p> strQuery = "select count(*) as total f
101、rom Seat where Seat.sell=false and Seat.date='" & _</p><p> Trim(ComboDate) & "'" & " and Seat.CarID='" & Trim(txtCarID) & "'"</p>
102、;<p> rsdata.Open strQuery, cnnrsdata, , , adCmdText '統(tǒng)計本車次的剩余的座位數(shù)</p><p> rsdata.MoveFirst</p><p> rsdata.AddNew</p><p> rsdata!Date = comdate</p><p>
103、 rsdata!Seat = comSNno</p><p> rsdata!CarID = CarID</p><p> rsdata!TNPYCode = TNPYCode</p><p> rsdata!sno = Trim(seatnumber)</p><p> rsdata.Update '添加新記錄<
104、;/p><p> '更新 Seat 表 ,將剛賣出的座位號設為 false</p><p> strQuery = "select * from Seat where Seat.sno='" & Trim(seatnumber) & _</p><p> "' and Seat.date=
105、39;" & Trim(ComboDate) & "'" & _</p><p> " and SeatCarID='" & Trim(txtCarID) & "'"</p><p> rsdata.Open strQuery, cnnrsdata, ,
106、 , adCmdText</p><p> If rsdata!sell = False Then</p><p> rsdata!sell = True</p><p> rsdata.Update</p><p><b> End If</b></p><p> ComboDate
107、= ""</p><p> txtTNPYCode = ""</p><p> txtCarID = ""</p><p> ComboDate.SetFocus</p><p> cost = Val(Adodc3.Recordset.Fields(3))</p>
108、;<p> txtCharge = Val(txtMoney) - Val(Adodc3.Recordset.Fields(3))</p><p><b> End Sub</b></p><p> ?。?)退票窗體(FrmBack)代碼</p><p> Private Sub Cmdback_Click()</p&
109、gt;<p> Dim strdate As String</p><p> Dim strline As String</p><p> Dim strseatno As String</p><p> Dim strTnl As String</p><p> Dim response As String</
110、p><p> Dim ticketinformation As String</p><p> strdate = Trim(Combodate.Text)</p><p> strCarID = Trim(txtCarID.Text)</p><p> strseatno = Trim(ComboSeatno.Text)</p&g
111、t;<p> strTnl = Trim(ComboTerminal.Text)</p><p> Dim strcnn</p><p><b> init_ado</b></p><p> strQuery = "Select * From SellTicket Where SellTicket.date=
112、39;" & _</p><p> Trim(Combodate.Text) & "'" & " and SellTicket.Sno='" & Trim(ComboSNno.Text) & "'" & _</p><p> " and
113、 SellTicket.carID='" & Trim(ComboCarID.Text) & "'" '檢查車票日期、車次和座位是否有效</p><p> rsdata.Open strQuery, cnnrsdata, , , adCmdText</p><p> If rsdata.EOF Then<
114、/p><p> MsgBox "你所要退的票為無效票或是你的輸入有問題!"</p><p><b> Else</b></p><p> rsdata.Close</p><p> strQuery = "Select * From SellTicket Where SellTicket
115、.date='" & Trim(Combodate.Text) & _</p><p> "'" & " and SellTicket.sno='" & Trim(ComboSNno.Text) & "'" & _</p><p> &q
116、uot; and SellTicket.CarID='" & Trim(ComboCarID.Text) & "'"</p><p> rsdata.Open strQuery, cnnrsdata, , , adCmdText</p><p> rsdata.MoveFirst</p><p>
117、Combodate.Text = rsdata!Date</p><p> ComboSNSno.Text = rsdata!sno</p><p> ComboCarID.Text = rsdata!CarID</p><p> '車票有效,確認日期、車次和座位號,確認是否退票</p><p> ticketinformat
118、ion = "日期:" & strdate & " " & "車次:" & strCarID & " " & "座位號:" & strsno & ""</p><p> response = MsgBox(ticketin
119、formation, vbOKCancel + vbInformation, "是否真要退票?")</p><p> If response = 1 Then</p><p> '更改 SellTicket 表</p><p> rsdata.Close</p><p> strQuery = "
120、select * from SellTicket"</p><p> rsdata.Open strQuery, cnnrsdata, , , adCmdText</p><p> rsdata.MoveFirst</p><p> Dim i As Integer</p><p> For i = 1 To rsdata.
121、RecordCount</p><p> If rsdata!Date = strdate And rsdata!sno = strsno And rsdata!sno = strseat Then</p><p> rsdata.Delete</p><p><b> End If</b></p><p> r
122、sdata.MoveNext</p><p><b> Next i</b></p><p> rsdata.Close</p><p> ' 將剛退的票設為可賣</p><p> strQuery = "select * from line where Seat.date='"
123、; & strdate & "'" & _</p><p> " and Seat.CarID='" & strCarID & "'" & " and Seat.sno='" & strsno & "'"<
124、;/p><p> rsdata.Open strQuery, cnnrsdata, , , adCmdText</p><p> If rsdata!book = True Then</p><p> rsdata!book = False</p><p> rsdata.Update</p><p><b&
125、gt; End If</b></p><p> Combodate.Text = ""</p><p> ComboSno.Text = ""</p><p> Combodate.SetFocus</p><p> MsgBox "退票已成功!"</p&
126、gt;<p><b> Else</b></p><p> rsdata.Close</p><p> Combodate.Text = ""</p><p> ComboSno.Text = ""</p><p> Combodate.SetFocus&l
127、t;/p><p><b> End If</b></p><p><b> End If</b></p><p><b> End Sub</b></p><p> (5)折扣管理窗體(FrmDiscount)代碼</p><p> Private
128、 Sub Cmd_Add_Click()</p><p> '初始化FrmDiscountEdit信息</p><p> FrmDiscountEdit.txtTerminalName = ""</p><p> FrmDiscountEdit.txtTNPYCode = ""</p><p&
129、gt; FrmDiscountEdit.txtCarID = ""</p><p> FrmDiscountEdit.txtTicketPrice = ""</p><p> FrmDiscountEdit.Modify = False</p><p> FrmDiscountEdit.VarRecordNumber
130、= OriRecordNumber</p><p> FrmDiscountEdit.Show 1</p><p> RefreshData</p><p><b> End Sub</b></p><p> Private Sub Cmd_Cancel_Click()</p><p>&
131、lt;b> Unload Me</b></p><p><b> End Sub</b></p><p> Private Sub Cmd_Del_Click()</p><p> Dim TmpID As Long</p><p> If Adodc1.Recordset.BOF = Tru
132、e Then</p><p> MsgBox "請選擇記錄"</p><p><b> Exit Sub</b></p><p><b> End If</b></p><p> TmpID = Adodc1.Recordset.Fields(0)</p>
133、<p> If MsgBox("是否刪除當前行", vbYesNo, "請確認") = vbYes Then</p><p> Call MyFam.DeleteByID(TmpID)</p><p><b> End If</b></p><p> RefreshData</p&
134、gt;<p><b> End Sub</b></p><p> Private Sub Cmd_Modi_Click()</p><p> '初始化FrmPriceEdit信息</p><p> FrmDiscountEdit.OriID = Adodc1.Recordset.Fields(0)</p>
135、;<p> FrmDiscountEdit.txtCarID = Adodc1.Recordset.Fields(2)</p><p> FrmDiscountEdit.txtTicketTypeID = Adodc1.Recordset.Fields(3)</p><p> FrmDiscountEdit.txtTicketType = Adodc1.Recordse
136、t.Fields(4)</p><p> FrmDiscountEdit.txtDiscount = Adodc1.Recordset.Fields(5)</p><p> FrmDiscountEdit.VarRecordNumber = OriRecordNumber</p><p> FrmDiscountEdit.Modify = True</p
137、><p> FrmDiscountEdit.Show 1</p><p> RefreshData</p><p><b> End Sub</b></p><p> ?。?)票價信息管理窗體(FrmPriceManage)代碼</p><p> Private Sub Cmd_Add_Cli
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 車站售票管理系統(tǒng)數(shù)據(jù)庫課程設計報告
- 數(shù)據(jù)庫課程設計報告---車站售票管理系統(tǒng)
- 數(shù)據(jù)庫課程設計--車站售票系統(tǒng)
- 火車站車票售票系統(tǒng)--數(shù)據(jù)庫課程設計
- 數(shù)據(jù)庫課程設計----火車站車票售票系統(tǒng)
- 車站與火車站車票售票系統(tǒng)--數(shù)據(jù)庫課程設計
- 民航售票系統(tǒng)(數(shù)據(jù)庫課程設計報告)
- 數(shù)據(jù)庫課程設計航空售票管理系統(tǒng)
- 航空售票信息管理系統(tǒng)數(shù)據(jù)庫課程設計報告
- 車站售票管理系統(tǒng)數(shù)據(jù)庫課設
- 數(shù)據(jù)庫課程設計報告----火車票售票系統(tǒng)
- 車站售票管理系統(tǒng)數(shù)據(jù)庫課設
- 數(shù)據(jù)庫課程設計--火車票售票管理系統(tǒng)
- 數(shù)據(jù)庫課程設計報告-鐵路網(wǎng)上售票系統(tǒng)
- 火車售票系數(shù)據(jù)庫課程設計
- 數(shù)據(jù)庫課程設計實驗報告-火車票售票管理系統(tǒng)
- 數(shù)據(jù)庫課程設計實驗報告-火車票售票管理系統(tǒng)
- 工資管理系統(tǒng)數(shù)據(jù)庫設計報告(數(shù)據(jù)庫課程設計)
- 工資管理系統(tǒng)數(shù)據(jù)庫設計報告數(shù)據(jù)庫課程設計
- 數(shù)據(jù)庫課程設計報告---餐飲管理系統(tǒng)
評論
0/150
提交評論