




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、航空公司管理信息系統(tǒng)一個(gè)正常營(yíng)運(yùn)的航空公司需要管理所擁有的飛機(jī)、航線的設(shè)置、客戶的信息等,更重要 的還要提供票務(wù)管理。而對(duì)各種不同種類的信息,需要合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)來保存數(shù)搖信息以 及有效的程序結(jié)構(gòu)支持各種數(shù)據(jù)操作的執(zhí)行。本設(shè)il講述如何建立一個(gè)航空公司管理信息系統(tǒng)。一般而言,航空公司的管理信息系統(tǒng) 應(yīng)該包括人事、工資管理模塊。1系統(tǒng)設(shè)計(jì)1.1系統(tǒng)功能分析系統(tǒng)開發(fā)的總體任務(wù)是實(shí)現(xiàn)各種信息的系統(tǒng)化、規(guī)范化和自動(dòng)化。系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務(wù)的基礎(chǔ)上完成。本例子中的航空公司管理信息系 統(tǒng)需要完成功能主要有:修改和查詢,包括客機(jī)編號(hào)、客機(jī)型號(hào)、購(gòu)買時(shí)間、服役時(shí)間、 公務(wù)艙座位數(shù)量、頭等艙座位數(shù)
2、量以及備注信息等。修改和查詢,包括航線編號(hào)、出發(fā)城市、到達(dá)城市、航班日期、艙位信息的輸入和修改,包括艙位等級(jí)編號(hào)、艙位等級(jí)需稱、提供的$種服務(wù)類別, 以及備注信息等??蜋C(jī)信息的輸入、經(jīng)濟(jì)艙座位數(shù)呈、航線信息的輸入、 出發(fā)時(shí)間、到達(dá)時(shí)間、客機(jī)編號(hào)、經(jīng)濟(jì)臉價(jià)格、公務(wù)艙價(jià)格、頭等艙價(jià)格和備注信 息等??蛻舻燃?jí)信息的輸入、修改,包括客戶等級(jí)編號(hào)、客戶等級(jí)名稱、折扣比例和備注 信思等??蛻粜畔⒌妮斎?、修改和查詢,包括客戶編號(hào)、客戶姓名、客戶性別、身份證號(hào)碼、 聯(lián)系電話、客戶類型和備注信息等。訂樂信息的輸入、査詢和修改,包括訂票編號(hào)、客戶編號(hào)、客戶姓名、客戶類型、 折扣比例、航線編號(hào)、出發(fā)城市、到達(dá)城市、
3、出發(fā)時(shí)間、臉位類型、票價(jià)、結(jié)算金 額和備注信息等。1.2系統(tǒng)功能模塊設(shè)計(jì)對(duì)上述各項(xiàng)功能進(jìn)行集中、分塊,按照結(jié)構(gòu)化程序設(shè)汁的要求,得到如圖9-1所示的系 統(tǒng)功能模塊圖。航空公罔管理信息系統(tǒng)茶統(tǒng)管e咨戶信息管俚客秒息満加客書息修改航線信息杳詢客戶客戶信息添加客戶信息修改客戶信息音 詢-430-圖91系統(tǒng)功能模塊圖2數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)在一個(gè)信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)的好壞將直接對(duì)應(yīng) 用系統(tǒng)的效率以及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲(chǔ)的效率, 保證數(shù)據(jù)的完整和一致。設(shè)計(jì)數(shù)據(jù)庫(kù)系統(tǒng)時(shí)應(yīng)該首先充分了解用戶徐個(gè)方而的需求,包括現(xiàn)有的以及將來可能增 加的需求。數(shù)據(jù)庫(kù)設(shè)
4、計(jì)一般包括如下幾個(gè)步驟: 數(shù)據(jù)庫(kù)需要分析。 數(shù)搖庫(kù)概念結(jié)構(gòu)設(shè)計(jì)。 數(shù)搖庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)。2.1數(shù)據(jù)庫(kù)需求分析用戶的需求具體體現(xiàn)在$種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫(kù)結(jié)構(gòu)能充 分滿足$種信息的輸出和輸入。收集基本數(shù)據(jù)、數(shù)據(jù)結(jié)構(gòu)以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后而的具體設(shè)計(jì)打下基礎(chǔ)。仔細(xì)分析調(diào)査有關(guān)航空公司管理信息需求的基礎(chǔ)上,將得到如圖9-2所示的本系統(tǒng)所處 理的數(shù)據(jù)流程。圖92航空公司管理信息系統(tǒng)數(shù)據(jù)流程圖針對(duì)一般航空公司管理信息系統(tǒng)的需求,通過對(duì)航空公司管理工作過程的內(nèi)容和數(shù)據(jù)流 程分析,設(shè)計(jì)如下而所示的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):客機(jī)編號(hào)、客機(jī)型號(hào)、購(gòu)買時(shí)間、服役時(shí)間、經(jīng)濟(jì)艙
5、 頭等臉座位數(shù)量、備注信息等。航線編號(hào)、出發(fā)城市、到達(dá)城市、航班日期、出發(fā)時(shí)艙位等級(jí)信息,包括的數(shù)據(jù)項(xiàng)有:艙位等級(jí)編號(hào)、艙位等級(jí)名稱、是否有禮品、是 否有報(bào)紙、是否有飲料、是否有午餐、是否有電影、是否可以改簽、是否可以退票、 是否可以打折、備注信息等。 客機(jī)信息,包括的數(shù)搖項(xiàng)有: 座位數(shù)量、公務(wù)臉座位數(shù)量、 航線信息,包括的數(shù)搖項(xiàng)有: 間、到達(dá)時(shí)間、客機(jī)編號(hào)、經(jīng)濟(jì)艙價(jià)格、公務(wù)艙價(jià)格、頭等艙價(jià)格、備注信息等。 客戶類型信息,包括的數(shù)據(jù)項(xiàng)有:客戶類型編號(hào)、客戶類型名稱、折扣比例、備注 信思等Q客戶信息,包括的數(shù)搖項(xiàng)有:客戶編號(hào)、客戶姓名、客戶性別、身份證號(hào)碼、聯(lián)系 電話、客戶類型、備注信息等。訂票
6、信息,包括的數(shù)據(jù)項(xiàng)有:訂票編號(hào)、顧客編號(hào)、顧客姓爼、顧客類型、折扣比 例、航線編號(hào)、出發(fā)城市、到達(dá)城市、艙位類型、機(jī)票價(jià)格、結(jié)算金額、備注信息等有了上而的數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)項(xiàng)和數(shù)據(jù)流程,我們就能進(jìn)行下而的數(shù)據(jù)庫(kù)設(shè)計(jì)。2.2數(shù)據(jù)庫(kù)概念結(jié)構(gòu)設(shè)計(jì)得到上面的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)以后,就可以設(shè)計(jì)出能夠滿足用戶需求的各種實(shí)體,以及 它們之間的關(guān)系,為后而的邏輯結(jié)構(gòu)設(shè)計(jì)打下基礎(chǔ)。這些實(shí)體包含各種具體信息,通過相互 之間的作用形成數(shù)據(jù)的流動(dòng)。本實(shí)例根據(jù)上面的設(shè)計(jì)規(guī)劃出的實(shí)體有:艙位等級(jí)信息實(shí)體、客機(jī)信息實(shí)體、航線信息 實(shí)體、客戶類型信息實(shí)體、客戶信息實(shí)體、訂票信息實(shí)體。$個(gè)實(shí)體具體的描述&1圖如下。艙位等級(jí)信息實(shí)體E
7、-R圖如圖9-3所示。圖9-4客機(jī)信息實(shí)體E-R圖航線信息實(shí)體E-R圖如圖9-5所示??蛻纛愋托舠實(shí)體備注信息戶類型姓名圖96客戶類型信息實(shí)體ER圖客戶信息實(shí)體E-R圖如圖9-7所示。圖97客戶信息實(shí)休ER圖訂票信息實(shí)體E-R圖如圖9-8所示。圖99實(shí)體之間關(guān)系的E-R圖23數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)設(shè)計(jì)現(xiàn)在需要將上面的數(shù)據(jù)庫(kù)概念結(jié)構(gòu)轉(zhuǎn)化為SQL Server 2000數(shù)據(jù)庫(kù)系統(tǒng)所支持的實(shí)際數(shù) 據(jù)模型,也就是數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)。航空公司管理信息系統(tǒng)數(shù)據(jù)庫(kù)中各個(gè)表格的設(shè)計(jì)結(jié)果如下而表格所示。每個(gè)表格表示在 數(shù)據(jù)庫(kù)中的一個(gè)表。表9為供應(yīng)商信息表。列名數(shù)據(jù)類型可否為空說明serviceNOcharNOT NULL
8、施位等級(jí)編號(hào)serviceNamenvarcharNULL艙位等級(jí)名稱noPresentcharNULL是否有禮物noNewsPapercharNULL是否有報(bào)紙noDrinkcharNULL是否有飲料noFoodcharNULL是否有午餐noMoviecharNULL是否有電影canChangecharNULL是否可以改簽canCancelcharNULL是否可以退票canDiscountcharNULL是杏可以打析seniceMeiuotextNULL備注信息seniceinfo能位等級(jí)借息表表91表92為顧客信息表格。列名數(shù)據(jù)類型可否為空說明planeNOcharNOT NULL客機(jī)編號(hào)
9、plajieTypecharNULL客機(jī)型號(hào)buyDatedatetimeNULL購(gòu)買H期serveDatedatetimeNULL服役日期isCoiinnonnvarcharNULL經(jīng)濟(jì)繪座位數(shù)fiisConimercialnvarcharNULL公務(wù)艙座位數(shù)SisFirsinvarcharNULL頭等給座位數(shù)址plaiieMemotextNULL備注信息planeinfo客機(jī)信息表格表92表93為航線信息表。列名數(shù)據(jù)類型可否為空說明airlineNOcharNOT NULL航線編號(hào)depanCilynvarcharNULL出發(fā)城巾arrivalCitynvarcharNULL到達(dá)城市dep
10、artDatecharNULL航班日期dep artTimecharNULL出發(fā)時(shí)間arrivalTimecharNULL到達(dá)時(shí)間planeNOcharNULL客機(jī)編號(hào)coniinonPricenumericNULL經(jīng)濟(jì)艙價(jià)格commercial PricenumericNULL公務(wù)艙價(jià)格firstPricenumericNULL頭等艙價(jià)格airlineMetnotextNULL備注信息airlineinfo航線信息表表93表9/為客戸類型涪息表格。列名數(shù)據(jù)類型可否為空說明ctypeNOcharNOT NULL客戶類型編號(hào)ctypeNamecharNULL容戶類型名稱discountnumer
11、icNULL折扣比例custonwrType客戶類型信息表表94續(xù)表列名數(shù)據(jù)類型可否為空說明ciyp cMcmolexlNULL備注表95為客戸信息表格。列名數(shù)據(jù)類型可否為空說明customerNOcharNOT NULL客戶編號(hào)custonwrNamecharNULL客戶姓名customerSexcharNULL客戶性別customerlDcharNULL身份證號(hào)碼custonwrTelecharNULL客戶聯(lián)系電話customerTypecharNULL客戶類那!customerMemotextNULL備注cuslomerliifo客戶值息表表95表96為訂票信息表格。列名數(shù)據(jù)類型可否為空
12、說明ticketNOcharNOT NULL訂票編號(hào)customerNOcharNULL客戶編號(hào)custonwrNainecharNULL客八姓名custonierTypecharNULL客戶類型discountnumericNULL折扣比例airlineNOcharNULL航線編號(hào)departCilynvarcharNULL出發(fā)城市arrivalCitynvarcharNULL到達(dá)城市l(wèi)icketDaledatetimeNULL出發(fā)日期serviceTypecharNULL艙位類型ticketpricenumericNULL機(jī)票價(jià)格ticketSumnumericNULL結(jié)算金額custom
13、erMemotextNULL備注licketinfo訂票信息表表9-63數(shù)據(jù)庫(kù)結(jié)構(gòu)的實(shí)現(xiàn)經(jīng)過前而的需求分析和概念結(jié)構(gòu)設(shè)il以后,得到數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)?,F(xiàn)在就可以在SQL Server 2000數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)該邏輯結(jié)構(gòu)。這是利用SQL Server 2000數(shù)據(jù)庫(kù)系統(tǒng)中的SQL 査詢分析器實(shí)現(xiàn)的。下而給出創(chuàng)建這些表格的SQL語句。3創(chuàng)建系統(tǒng)用戶表CREATE TABLE dboljuserjnfol(luserJD char (10) COLLATE Chinese_PRC_CLAS NOT NULL useePWD char (10) COLLATE Chinese_PRC_CLAS NUL
14、L user_Des char (10) COLLATE Chinese_PRC_CLAS NULL )ON PRIMARY32創(chuàng)建艙位等級(jí)信恵表CREATE TABLE dbo Jserviceinfo(seniceNO char (4) COLLATE Chinese_PRC_CLAS NOT NULL seniceName nvarchar (20) COLLATE Chincse_PRC_CI_AS NULL noPresentl char (2) COLLATE Chinese_PRC_CLAS NULL (noNewsPaper char COLLATE Chinese_PRC_C
15、LAS NULL. (noDrink char (2) COLLATE Chinese_PRC_CLAS NULL noFood char (2) COLLATE Chinese_PRC_CLAS NULL (noMovie char (2) COLLME Chinese_PRC_CLAS NULL IcanChaiige char (2) COLLME Chinesc_PRC_CLAS NULL canCancel char (2) COLLATE Chinese_PRC_CLAS NULL canDiscount char COLLATE Chinese_PRC_CLAS NULL sen
16、iceMemo text COLLATE Chinese_PRC_CI_AS NULL)ON PRIMARY TEXTIMAGE_ON PRIMARY33創(chuàng)建客機(jī)信患表CREATE TABLE dboMplancInfo(IplaneNO char (18) COLLVTE Chinese_PRC_CI_AS NOT NULL IplaneType char (20) COLLATE Chinese_PRC_CLAS NULL, IbuyDatel datetime NULL.seneDalc datetime NULL,(isCommonl nvarchar (20) COLLATE Chi
17、nese_PRC_CI_AS NULL, isCommercial nvarchar (20) COLLATE Chinese_PRC_CLAS NULL. isFirst nvarchar (20) COLLME Chinesc_PRC_CLAS NULL planeMemo text COLLATE Chinese_PRC_CI_AS NULL)ON (PRIMARY TEXTIMAGE_ON PRIMARY34創(chuàng)建航線信患表CREATE TABLE dboJairlincinfo(airlineNO char (14) COLLATE Chinese_PRC_CLAS NOT NULL,
18、 dcpartCity nvarchar (50) COLLATE Chinese_PRC_CLAS NULL. arrivalCity nvarchar (50)COLLATEChinese_PRC_CLAS NULL, dcpartDate char (10) COLLATE Chinese_PRC_CLAS NULL dcpartTime char (10) COLLATEChinese_PRC_CLAS NULL. arrivalTime char (10) COLLATE Chinese_PRC_CLAS NULL IplaneNO char (18) COLLMEChinese_P
19、RC_CLAS NULL, commonprice numcric(l& 2) NULL.(commercialPrice (numericK 1 & 2)NULL, firstPrice (numcric(l& 2) NULL.airlineMemo text COLLATE Chinese_PRC_CLAS NULL353637)ON (PRIMARY TEXTIMAGE_ON PRIMARY 創(chuàng)建客戶類型信恵表CREATE TABLE dbo).(cusiomerType(ctT)eNO charl (14) COLLATE Chinese_PRC_CLAS NOT NULL ctT)e
20、Nanie char (20) COLLATE Chinese_PRC_CLAS NULL discount numericJ(2,0) NULL ctTeMcmo text COLLATE Chinese_PRC_CI_AS NULL)ON PRIMARY TEXTIMAGE_ON PRIMARY創(chuàng)建客戶信患表CREATE TABLE dboIJcusiomerInfo(customerNO char (14) COLLATE Chinese_PRC_CLAS NOT NULL customerNamel char (50)COLLATEChincsc_PRC_CI_AS NULL, cus
21、tomerSexl char (2) COLLATE Chinese_PRC_CLAS NULL. (customerlD char (18) COLLATE Chinese_PRC_CLAS NULL (customerTele charl (20) COLLATE Chinese_PRC_CI_AS NULL. customerTypc char (14) COLLATE Chinese_PRC_CI_AS NULL, (customerMemo text COLLATE Chinese_PRC_CI_AS NULL)ON (PRIMARY TEXTIMAGE_ON PRIMARY創(chuàng)建訂票
22、信患表CREATE TABLE dbo Jticketinfo(tickeiNO char (14) COLLATE Chinese_PRC_CLAS NOT NULL. customerNO (charl (14) COLLATE Chinese_PRC_CLAS NULL. customerName char (50) COLLATE Chincse_PRC_CLAS NULL customerTT)e char (14) COLLATE Chinese_PRC_CI_AS NULL, discount numericI & 0) NULL airlineNO char (14) COLL
23、ATE Chinese_PRC_CLAS NULL departCityl nvarchar (50) COLLATE Chinese_PRC_CLAS NULL arrivalCity nvarchar (50) COLLATE Chinese_PRC_CLAS NULL, ticketDate (datetimel NULL (semceType nvarcharl (20) COLLATE Chinese_PRC_CI_AS NULL tickelPrice fnumeric(l& 2) NULL.(tickeiSum numeric(l& 2)NULL.(tickeiMcmo text
24、 COLLATE Chincse_PRC_CLAS NULL)ON (PRIMARYl TEXTIMAGEON PRIMARY4航空公司管理信息系統(tǒng)主窗體的創(chuàng)建上而的SQL語句在SQL Server 2000中査詢分析器的執(zhí)行,將自動(dòng)產(chǎn)生需要的所有表格。 有關(guān)數(shù)搖庫(kù)結(jié)構(gòu)的所有后臺(tái)工作已經(jīng)完成?,F(xiàn)在務(wù)通過航空公司管理信息系統(tǒng)中各個(gè)功能模 塊的實(shí)現(xiàn),講解如何使用Visual Basic來編寫數(shù)抵庫(kù)系統(tǒng)的客戶端程序。4J創(chuàng)建工程項(xiàng)目MIS_Ticket啟動(dòng) Visual Basic 后,單擊 FilelNew Project 菜單,在工程模板中選擇 Standard EXEVisual Basic將
25、自動(dòng)產(chǎn)生一個(gè)Form窗體,屬性都是缺省設(shè)置。這里我們刪除這個(gè)窗體,單擊FilelSave Project菜單,將這個(gè)工程項(xiàng)目命輕為MIS_Tickei,4.2創(chuàng)建航空公司管理信息系統(tǒng)的主窗體這個(gè)項(xiàng)目我們使用多文檔界而,單擊工具欄中的ADD MDI Form按鈕,產(chǎn)生一個(gè)窗體。 在這個(gè)窗體上添加所需的控件,窗體和控件的屬性設(shè)置見表9-7。創(chuàng)建好的窗體如圖9J0所 zjso控件屬性屬性取值frmMaiii(Fonn)NameFrmMainCaplion大唐航空公司信息管理系統(tǒng)SlarlUpPositonCenterScreenWindowStateMaximizedSbStatusBar(Stat
26、u sBar)NameSbStatusBarPanel 1)StyleSbrTextPanels StyleSbrDatePanels(3)StyleSbrTime主窗體及其控件厲性設(shè)S表97-lalxl|So successfulElseSet rst = New ADODB, Recordset rsl.Open Trim$(SQL) cnn,_adOpenKeysei. _adLockOplimisticrsi.MovcLasl *gel RecordCoum返回記錄集對(duì)欽Set ExecuteSQL = rstMsgString =査詢到& rst,RecordCount & 條記錄“
27、End IfExecu 忙 SQLJExil:Set rst = NothingSei cnn = NothingExit FunctionExcuteSQL_Error:MsgString = 査詢錯(cuò)謀:”&- Err. DescriptionResume ExecuieSQL_Exil End Function在ExecuteSQL函數(shù)中使用了 Connect String函數(shù),這個(gè)函數(shù)用來連接數(shù)據(jù)庫(kù),代碼如下: Public Function ConneciStringO _As String返回一個(gè)數(shù)據(jù)庫(kù)連接ConneclString = FiIeDSN=lickeUsn;UID=sa
28、; PWDEnd Function在錄入有關(guān)信息時(shí),需要回車來進(jìn)入下一個(gè)文本框,這樣對(duì)軟件使用者非常方便。在所 有的功能模塊都需要這個(gè)函數(shù),所以將它放在公用模塊中,代碼如下:Public Sub EnterToTab( Keyasc As Integer)判斷是否為回午鍵If Keyasc = 13 Then轉(zhuǎn)換成Tab鍵SendKeysTABr*End IfEnd SubKeyasc用來保存當(dāng)前按鍵,SendKeys函數(shù)用來指立的按鍵。一旦按下回車鍵,將返回 Tdb鍵,下一個(gè)控件自動(dòng)獲得輸入焦點(diǎn)。添加全局變量,用來記錄各個(gè)功能模塊的讀寫狀態(tài),代碼如下:Public gilitsmode As
29、 Inieger 記載艙位等級(jí)功能模塊的讀寫狀態(tài)Public giiuPniode As Integer。記載客機(jī)信息模塊的讀寫狀態(tài)Public ginlAnuxle As Integer 記載航線信息模塊的讀寫狀態(tài)Public giiuTmode As Integer 記載客戶類型模塊的讀弓狀態(tài)Public gintCmode As Integer *記載客戶信息模塊的讀嗎狀態(tài)Public gintKnxxle As Integer 記裁訂票信息模塊的讀寫狀態(tài)這些全局變量用來記錄是添加狀態(tài)還是修改狀態(tài),賦值1為添加,賦值2為修改。由于航空公司管理信息管理系統(tǒng)啟動(dòng)后,需要對(duì)用戶進(jìn)行判斷。如果登
30、錄者是授權(quán)用戶, 將進(jìn)入系統(tǒng),否則將停止程序的執(zhí)行。這個(gè)判斷需要在系統(tǒng)運(yùn)行的最初進(jìn)行,因此將代碼放 在公用模塊中。5系統(tǒng)用戶管理模塊的創(chuàng)建用戶管理模塊主要實(shí)現(xiàn): 用F登錄。 添加用戶。 修改用戶密碼。6艙位信息管理模塊的創(chuàng)建艙位信息管理模塊主要實(shí)現(xiàn)如下功能: 添加艙位信息。 修改艙位信息。 刪除艙位信息。6顯示艙位信患窗體的創(chuàng)建選擇“航線信息皆理I艙位信息”菜單,將出現(xiàn)如圖912所示的窗體。絵位等級(jí)信息 迄錄拱ft勳31測(cè)(. ., ., . 圖912尬位等級(jí)信息窗休這個(gè)窗體用來顯示艙位等級(jí)信息,并且可以對(duì)各條記錄進(jìn)行操作。在載入窗體時(shí),程序 將自動(dòng)載入所有記錄,代碼如下:Private Su
31、b menuCarbin_Click()frmSen4ceJxlSQL= select * from serviceinfo*frmService.Show 0End Sub窗體的Show方法后面加上0或者1,可以得到不同的窗體顯示方式。參數(shù)為0時(shí),顯 示的窗體為無模式形式,窗體切換時(shí)不需要進(jìn)行其他操作:參數(shù)為1時(shí),顯示的窗體為有模 式形式,窗體切換時(shí)必須進(jìn)行相關(guān)操作。載入窗體時(shí)將自動(dòng)顯示各條記錄,代碼如下:Private Sub Forni_Load()ShowTitleShowDataEnd Sub函數(shù)ShowTitle用來顯示表頭,代碼如下: Private Sub ShowTitleO
32、Dim i As IntegerWith msgLisirols = 12TfexNauix(0 I) “等級(jí)編號(hào) nxtMa【rix(02)= “機(jī)艙等級(jí) ;kxNairix03) J是否有禮附 .TfexiMatrixtO, 4)= “是否有報(bào)紙“ TfexiMauix 5)“是否有飲料“ .TfexlMatrix(O, 6)是否有午餐“ .TfexlMatrix(O, 7)= “是否提供電影- TfexiMauix 8)“是否可以改簽 .TfexlMatrix(O, 9)= “是否可以退票 TfexNauixO 10)= ”是否可以打折” .TextMatrix0, 11) = * 備注
33、信息” 固定表頭.FixedRows = 1設(shè)a%列的對(duì)齊方式For i = 0 To 11.CoIAlignment(i) = 0Nexii表頭項(xiàng)搭中.FillStyle = flexFillRepeat.Col = 0 .Row = 0 RowScl = 1 -ColSel = .Cols - 1 -CellAlignment = 4 設(shè)a號(hào)元大小 ColWidlh(0) = 1000 .ColWidlhi 1) = 1000ColWidlh(2) = 2000 ColWidlh(3 = 1000 rolWidlh(4)= 1000ColWidlh 1000 ColWidlh =1000C
34、olWidlhd) 1000 ColWid山(8) 1000ColWidlh(9) 1000ColWidlh(l0)=1000 rolWidth(ll)= 1000.Row = 1End WithEnd Sub函數(shù)ShowData把各條記錄加到表格中,并顯示出來,代碼如下:Private Sub ShowDataODim j As IntegerDim i As IntegerDim MsgText As String獲得數(shù)據(jù)集Set mrc = ExecuieSQUtxtSQL MsgText)With msgLisl.Rows = I判斷是否為空Do While Not mrc.EOF移動(dòng)
35、到下一行.Rows = .Rows + 1循環(huán)For i = 1 To mrc.Field&Couni判斷是否為空If Not IsNuII(Trim(mrc,Fields(i I) Then根據(jù)數(shù)據(jù)類型顯示Select Case mrcFields(i -1 ).TpeCase adDBDate.TexlMatrix(.Row$ - l.i) = FormalmrcFields(i I) & 二yyyymmdd”)Case Else.TexNauix(Rovs - I.i) = mrc.Fields 1) &End SelectEnd IfNext I移動(dòng)到下一條記錄 mrc,MoveNex
36、tLoopEnd With關(guān)閉數(shù)據(jù)集對(duì)彖mrc,CloseEnd Sub在窗體顯示時(shí),可以控制窗體中各個(gè)控件按照要求的位置顯示Q可以在窗體的Resize事 件中加入代碼,代碼如下:Private Sub Form.ResizeO判斷詢窗休所處的狀態(tài).嚴(yán)I前窗休不處干最小化狀態(tài)并且主窗體不處于報(bào)小化狀態(tài)時(shí)進(jìn)行后 面的操作If Me.WindowState o vbMinimized And fMaiiiFornLWindowSlate o vbMinimized Then邊界處理If Me.ScaleHeight 10 * IblTille.Height TlieiiExil SubEnd If
37、If Me.ScaleWidth IblTitle. Width + lblTitIe,Width / 2 ThenExil SubEnd If控制控件的位aIblTille.To p = IblTille.HeightIbllille.Left = (Me,Width - IblTille.Width) / 2 控制表格控件的位amsgLisl.To p = IblTille.To p + IblTitle.Height + IblTitle,Height / 2 msgLisl.Width = Me.ScaleWidlh - 200 msgLisl.Lefl = Me.ScaleLeft
38、+ 100msgLisl.Height = Me,ScaleHeight - nisgList,Top - 1500 控制按饑位gFrame2Tbp msgLisl.Tb p + msgList.Height + 50Franie2.Left = Me.ScaleWidlh / 2 - 3000End IfEnd Sub62添加艙位信患窗體的創(chuàng)建在艙位信息顯示窗體中單擊“添加”按鈕,將出現(xiàn)如圖913所示的窗體。便存迫B因圖913添加艙位等級(jí)信恩窗體載入窗體時(shí),首先根據(jù)標(biāo)志變量判斷狀態(tài),然后決崔是添加還是修改,代碼如下: Private Sub Forni_Load()Dim inlCount
39、As IntegerDim MsgText As String Dim i As Integer 判斷是否為添加If giniSmode = 1 ThenMe.Captioii = Me.Caplion & 添加For i = 0 To 7 ComboKikAddllem 否” ComboKikAddllem 是“ ComboKiiXislIndex = 0Next I栽入片前選擇記錄內(nèi)容Elself gintSmode = 2 TlienSet mrc = ExecuteSQU txtSQU MsgText) 判斷記錄是否為空If mrc.EOF = False TlieiiWith mrc
40、For inlCounl = 0To ItxlIlem(intCouiil) = .Fields(iiitCouiil)Next intCount txtltem(2)=Fields( 10)For i = 0 To 7ComboKiKAddItem 否ComboKiKAddItem ”是”ComboKiXLislIndex = 0NextiEnd With xtllem(O).Enabled = FalseEnd IfMeXaption = Me.Caplion & ”修改“End If mbiChange = FalseEnd Sub輸入內(nèi)容完畢,單擊“保存”按鈕,將首先判斷輸入內(nèi)容是否滿
41、足要求,然后添加到數(shù) 據(jù)庫(kù)中。代碼如下:Private Sub cmdSave_Click()Dim inlCount As IntegerDim sMeg As SiringDim MsgText As String判斷輸入內(nèi)容是否為空For inlCount = 0To IIf Trim(txlItem(intCouiil) & ”)=” ThenSelect Case imCounlCaseOsMeg J機(jī)艙等級(jí)編號(hào)”Case IsMeg = “機(jī)艙等級(jí)名稱”End SelectsMeg = sMeg &“不能為空!”MsgBox sMeg, vbOKOnly + vbExcIamali
42、on,警告 txtltemfintCounO-SetFocusExit SubEnd IfNext iiitCouiit判斷輸入內(nèi)容是否為數(shù)字If Not IsNumeric(Trim(txtIteni(O) ThensMcg = ”機(jī)艙等級(jí)編號(hào)”sMcg = sMeg & “請(qǐng)輸入數(shù)字! ”MsgBox sMeg, vbOKOiiIy + vbExclamaliom 警告 txtItem(0).SetFocusEnd If添加判斷是否有相同的ID記錄If ginlSmode = 1 ThentxlSQL= select * from servicelnfo where seniceNO=*
43、& Trim(lxlhenHO) &Set mrc = ExecuteSQU ixtSQL MsgText)If mrc.EOF = False ThenMsgBox 已經(jīng)存在此編號(hào)的記錄!vbOKOnly + vbExclamalion. ”警告“txtIlem(0).SelFocusExit SubEnd If mrc,CloseEnd If判斷是否有相同內(nèi)容的記錄txlSQL = select * from serviceinfo where serviceNOo & TrimdxlItenKO) & and serviceName J& Trini(lxtllemSet mrc = E
44、xecu忙SQLUxiSQL. MsgText)If mrc.EOF = False ThenMsgBox 已經(jīng)存在相同機(jī)艙等級(jí)的記錄! “VbOKOnly + vbExcIamation, *警告”txtltenK I ).SetFocusExit SubEnd If先刪除已有記錄txlSQL= deleie from serviceinfo where serviceNO=* & Triin(lxlItem(O) &Set mrc = ExecuteSQU txlSQU MsgText) 再加入新記錄txiSQL= select * from serviceinfoSet mrc = Ex
45、ecu忙SQLUxiSQL. MsgText)mrc,AddNewFor inlCounl = 0To Imrc.Fields! intCounl) = Trini(txtItem(intCount)Next iiuCountFor inlCount = 0To 7mrc,Fieldsi intCount + 2) = Trini(Combol(mtCoum)Next intCount mrc,Fields( I0 = TrinUtxtItem(2)更新數(shù)據(jù)集內(nèi)容mrc,Update關(guān)閉數(shù)據(jù)集內(nèi)容mrc,CloseIf ginlSmode = 1 ThenMsgBox 添加記錄成功!vbOKO
46、nly + vbExclamation, 添加記錄For inlCounl = 0To Ixtltem(intCouiii)=Next intCoumFor inlCounl = 0To 3ComboKintCountJ.Listlndex = 0Next intCount mblChange = FalseUnload irmService frmService.wSQL,selecl * from serviceinfo frmService.ShowElself ginlSmode = 2 TlienUnload MeUnload frmService frmSen4ce,xlSQL=
47、select * from serviceinfo* frmService.ShowEnd IfEnd Sub63修改艙位等級(jí)信恵在艙位等級(jí)信息列表中選擇需要修改的記錄,然后單擊“修改”按鈕,將出現(xiàn)如圖9-13 所示的窗體。選擇記錄的內(nèi)容將顯示在窗體中,可以進(jìn)行修改,最后保存修改后的記錄。代 碼如下:Private Sub cmdModify_Click()Dim inlCount As Integer判I析列表中是否有記錄If frmService.msgLisi.Rows I Then改變狀態(tài)變SgintSmode = 2記錄選擇記錄位gintCounl = msgLisi.RowIf i
48、iuCoum 0 Thenfrom serviceinfo where serviceNO =&fnnService I ,txlSQL = selectTrim(msgLisl.TexlMatrix(imCounl- I) &fnnService I,Show 1ElseMsgBox 警告 vbOKOiiIy + vbExcIamalion. 請(qǐng)首先選擇需要修改的記錄! “End IfEnd IfEnd Sub64刪除艙位等級(jí)信恵在艙位等級(jí)信息列表中選擇需要?jiǎng)h除的記錄,然后單擊“刪除”按鈕,將刪除當(dāng)前記錄, 代碼如下:Private Sub cmdDeleie_Click()Dim txtS
49、QLAs StringDim inlCount As IntegerDim mrc As ADODB.RecordsetDim MsgText As String判斷信息列表中內(nèi)容是否為空If nisgList,Rows 1 Then提示信息If MsgBoxT真的要?jiǎng)h除機(jī)艙等級(jí)為” & Trim(msgLisLTextMatrix(nisgLisl.Row. 2) & 的記錄嗎? vbOKCancel + vbExcIamatioit 警告“)=vbOK Then記錄選擇記錄位aintCount = msgLisi.Row刪除重復(fù)記錄txlSQL = deleie from serviceinfb where serviceNO =* & Trim(nisgLisl.TextMatrix(intCount.I)&Set mrc = Execu 忙 SQLdxiSQL. MsgTexi)卸載窗體Unload frmService重新救入記錄并顯示frmService.wSQL ”select * from serviceinfo frmService.ShowEnd IfEnd IfEnd Sub7客機(jī)信息管理模塊的創(chuàng)建客
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- (高清版)DB3714∕T 0008-2021 黨政機(jī)關(guān)會(huì)務(wù)服務(wù)規(guī)范
- 第18課《我的白鴿》教學(xué)設(shè)計(jì)- 2024-2025學(xué)年統(tǒng)編版語文七年級(jí)上冊(cè)
- 2025年果洛貨運(yùn)上崗證模擬考試0題
- 2025年張家口駕駛員貨運(yùn)從業(yè)資格證模擬考試
- 2025年韶關(guān)貨運(yùn)資格證考試題答案
- 第十八章 平行四邊形數(shù)學(xué)活動(dòng) 折紙作60°、30°、15°角 教學(xué)設(shè)計(jì)-2024-2025學(xué)年人教版數(shù)學(xué)八年級(jí)下冊(cè)
- 第19課《大雁歸來》教學(xué)設(shè)計(jì) 2024-2025學(xué)年統(tǒng)編版語文七年級(jí)上冊(cè)
- 【人教PEP版英語三年級(jí)上冊(cè)】期末測(cè)試卷(八)及答案
- 第7課+近代以來中國(guó)的官員選拔與管理+高二上學(xué)期歷史統(tǒng)編版(2019)選擇性必修1
- 百分?jǐn)?shù)的應(yīng)用(二)(教學(xué)設(shè)計(jì))-2024-2025學(xué)年北師大版六年級(jí)數(shù)學(xué)上冊(cè)
- 企業(yè)風(fēng)險(xiǎn)管理-戰(zhàn)略與績(jī)效整合(中文版)
- 三階段DEA模型理論與操作步驟詳解
- 高效能人士的七個(gè)習(xí)慣The7HabitsofHighlyEffectivePeople課件
- 小學(xué)體育與健康教育科學(xué)二年級(jí)下冊(cè)第一章體育基本活動(dòng)能力立定跳遠(yuǎn)教案 省一等獎(jiǎng)
- 工程分包管理計(jì)劃
- 民事訴訟法學(xué)整套ppt課件完整版教學(xué)教程最全電子講義(最新)
- 河北省自然科學(xué)基金資助項(xiàng)目申請(qǐng)書模板
- 四年級(jí)奧數(shù)-容斥問題
- 常用標(biāo)準(zhǔn)波導(dǎo)和法蘭尺寸
- 損益平衡點(diǎn)的計(jì)算方法
- 小學(xué)二年級(jí)下冊(cè)音樂-第4課聆聽《吉祥三寶》3--人音版(簡(jiǎn)譜)(10張)ppt課件
評(píng)論
0/150
提交評(píng)論