版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
航空公司管理信息系統(tǒng)一個(gè)正常營運(yùn)的航空公司需要管理所擁有的飛機(jī)、航線的設(shè)置、客戶的信息等,更重要的還要提供票務(wù)管理。面對(duì)各種不同種類的信息,需要合理的數(shù)據(jù)庫結(jié)構(gòu)來保存數(shù)據(jù)信息以及有效的程序結(jié)構(gòu)支持各種數(shù)據(jù)操作的執(zhí)行。本設(shè)計(jì)講述如何建立一個(gè)航空公司管理信息系統(tǒng)。一般而言,航空公司的管理信息系統(tǒng)應(yīng)該包括人事、工資管理模塊。1系統(tǒng)設(shè)計(jì)系統(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í)名稱、提供的各種服務(wù)類別,以及備注信息等??蜋C(jī)信息的輸入、修改和查詢,包括客機(jī)編號(hào)、客機(jī)型號(hào)、購買時(shí)間、服役時(shí)間、經(jīng)濟(jì)艙座位數(shù)量、公務(wù)艙座位數(shù)量、頭等艙座位數(shù)量以及備注信息等。航線信息的輸入、修改和查詢,包括航線編號(hào)、出發(fā)城市、到達(dá)城市、航班日期、出發(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á)城市、出發(fā)時(shí)間、艙位類型、票價(jià)、結(jié)算金額和備注信息等。系統(tǒng)功能模塊設(shè)計(jì)對(duì)上述各項(xiàng)功能進(jìn)行集中、分塊,按照結(jié)構(gòu)化程序設(shè)計(jì)的要求,得到如圖9-1所示的系統(tǒng)功能模塊圖。圖9-1系統(tǒng)功能模塊圖2數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫在一個(gè)信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)的好壞將直接對(duì)應(yīng)用系統(tǒng)的效率以及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲(chǔ)的效率,保證數(shù)據(jù)的完整和一致。設(shè)計(jì)數(shù)據(jù)庫系統(tǒng)時(shí)應(yīng)該首先充分了解用戶各個(gè)方面的需求,包括現(xiàn)有的以及將來可能增加的需求。數(shù)據(jù)庫設(shè)計(jì)一般包括如下幾個(gè)步驟:數(shù)據(jù)庫需要分析。數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計(jì)。數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)。2.1數(shù)據(jù)庫需求分析用戶的需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫結(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ù)流程。圖9-2航空公司管理信息系統(tǒng)數(shù)據(jù)流程圖針對(duì)一般航空公司管理信息系統(tǒng)的需求,通過對(duì)航空公司管理工作過程的內(nèi)容和數(shù)據(jù)流程分析,設(shè)計(jì)如下面所示的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):艙位等級(jí)信息,包括的數(shù)據(jù)項(xiàng)有:艙位等級(jí)編號(hào)、艙位等級(jí)名稱、是否有禮品、是否有報(bào)紙、是否有飲料、是否有午餐、是否有電影、是否可以改簽、是否可以退票、是否可以打折、備注信息等??蜋C(jī)信息,包括的數(shù)據(jù)項(xiàng)有:客機(jī)編號(hào)、客機(jī)型號(hào)、購買時(shí)間、服役時(shí)間、經(jīng)濟(jì)艙座位數(shù)量、公務(wù)艙座位數(shù)量、頭等艙座位數(shù)量、備注信息等。航線信息,包括的數(shù)據(jù)項(xiàng)有:航線編號(hào)、出發(fā)城市、到達(dá)城市、航班日期、出發(fā)時(shí)間、到達(dá)時(shí)間、客機(jī)編號(hào)、經(jīng)濟(jì)艙價(jià)格、公務(wù)艙價(jià)格、頭等艙價(jià)格、備注信息等。客戶類型信息,包括的數(shù)據(jù)項(xiàng)有:客戶類型編號(hào)、客戶類型名稱、折扣比例、備注信息等。客戶信息,包括的數(shù)據(jù)項(xiàng)有:客戶編號(hào)、客戶姓名、客戶性別、身份證號(hào)碼、聯(lián)系、客戶類型、備注信息等。訂票信息,包括的數(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ù)庫設(shè)計(jì)。2.2數(shù)據(jù)庫概念結(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í)體具體的描述E-R圖如下。艙位等級(jí)信息實(shí)體E-R圖如圖9-3所示。圖9-3艙位等級(jí)信息實(shí)體E-R圖客機(jī)信息實(shí)體E-R圖如圖9-4所示。圖9-4客機(jī)信息實(shí)體E-R圖航線信息實(shí)體E-R圖如圖9-5所示。圖9-5航線信息實(shí)體E-R圖客戶類型信息實(shí)體E-R圖如圖9-6所示。圖9-6客戶類型信息實(shí)體E-R圖客戶信息實(shí)體E-R圖如圖9-7所示。圖9-7客戶信息實(shí)體E-R圖訂票信息實(shí)體E-R圖如圖9-8所示。圖9-8訂票信息實(shí)體E-R圖實(shí)體之間關(guān)系的E-R圖如圖9-9所示。圖9-9實(shí)體之間關(guān)系的E-R圖2.3數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)現(xiàn)在需要將上面的數(shù)據(jù)庫概念結(jié)構(gòu)轉(zhuǎn)化為SQLServer2000數(shù)據(jù)庫系統(tǒng)所支持的實(shí)際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結(jié)構(gòu)。航空公司管理信息系統(tǒng)數(shù)據(jù)庫中各個(gè)表格的設(shè)計(jì)結(jié)果如下面表格所示。每個(gè)表格表示在數(shù)據(jù)庫中的一個(gè)表。表9-1為供應(yīng)商信息表。表9-1serviceInfo艙位等級(jí)信息表列名數(shù)據(jù)類型可否為空說明serviceNOcharNOTNULL艙位等級(jí)編號(hào)serviceNamenvarcharNULL艙位等級(jí)名稱noPresentcharNULL是否有禮物noNewsPapercharNULL是否有報(bào)紙noDrinkcharNULL是否有飲料noFoodcharNULL是否有午餐noMoviecharNULL是否有電影canChangecharNULL是否可以改簽canCancelcharNULL是否可以退票canDiscountcharNULL是否可以打折serviceMemotextNULL備注信息表9-2為顧客信息表格。表9-2planeInfo客機(jī)信息表格列名數(shù)據(jù)類型可否為空說明planeNOcharNOTNULL客機(jī)編號(hào)planeTypecharNULL客機(jī)型號(hào)buyDatedatetimeNULL購買日期serveDatedatetimeNULL服役日期isCommonnvarcharNULL經(jīng)濟(jì)艙座位數(shù)量isCommercialnvarcharNULL公務(wù)艙座位數(shù)量isFirstnvarcharNULL頭等艙座位數(shù)量planeMemotextNULL備注信息表9-3為航線信息表。表9-3airlineInfo航線信息表列名數(shù)據(jù)類型可否為空說明airlineNOcharNOTNULL航線編號(hào)departCitynvarcharNULL出發(fā)城市arrivalCitynvarcharNULL到達(dá)城市departDatecharNULL航班日期departTimecharNULL出發(fā)時(shí)間arrivalTimecharNULL到達(dá)時(shí)間planeNOcharNULL客機(jī)編號(hào)commonPricenumericNULL經(jīng)濟(jì)艙價(jià)格commercialPricenumericNULL公務(wù)艙價(jià)格firstPricenumericNULL頭等艙價(jià)格airlineMemotextNULL備注信息表9-4為客戶類型信息表格。表9-4customerType客戶類型信息表列名數(shù)據(jù)類型可否為空說明ctypeNOcharNOTNULL客戶類型編號(hào)ctypeNamecharNULL客戶類型名稱discountnumericNULL折扣比例續(xù)表列名數(shù)據(jù)類型可否為空說明ctypeMemotextNULL備注表9-5為客戶信息表格。表9-5customerInfo客戶信息表列名數(shù)據(jù)類型可否為空說明customerNOcharNOTNULL客戶編號(hào)customerNamecharNULL客戶姓名customerSexcharNULL客戶性別customerIDcharNULL身份證號(hào)碼customerTelecharNULL客戶聯(lián)系customerTypecharNULL客戶類型customerMemotextNULL備注表9-6為訂票信息表格。表9-6ticketInfo訂票信息表列名數(shù)據(jù)類型可否為空說明ticketNOcharNOTNULL訂票編號(hào)customerNOcharNULL客戶編號(hào)customerNamecharNULL客戶姓名customerTypecharNULL客戶類型discountnumericNULL折扣比例airlineNOcharNULL航線編號(hào)departCitynvarcharNULL出發(fā)城市arrivalCitynvarcharNULL到達(dá)城市ticketDatedatetimeNULL出發(fā)日期serviceTypecharNULL艙位類型ticketPricenumericNULL機(jī)票價(jià)格ticketSumnumericNULL結(jié)算金額customerMemotextNULL備注3數(shù)據(jù)庫結(jié)構(gòu)的實(shí)現(xiàn)經(jīng)過前面的需求分析和概念結(jié)構(gòu)設(shè)計(jì)以后,得到數(shù)據(jù)庫的邏輯結(jié)構(gòu)。現(xiàn)在就可以在SQLServer2000數(shù)據(jù)庫系統(tǒng)中實(shí)現(xiàn)該邏輯結(jié)構(gòu)。這是利用SQLServer2000數(shù)據(jù)庫系統(tǒng)中的SQL查詢分析器實(shí)現(xiàn)的。下面給出創(chuàng)建這些表格的SQL語句。3.1創(chuàng)建系統(tǒng)用戶表CREATETABLE[dbo].[user_Info1]( [user_ID][char](10)COLLATEChinese_PRC_CI_ASNOTNULL, [user_PWD][char](10)COLLATEChinese_PRC_CI_ASNULL, [user_Des][char](10)COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]3.2創(chuàng)建艙位等級(jí)信息表CREATETABLE[dbo].[serviceInfo]( [serviceNO][char](4)COLLATEChinese_PRC_CI_ASNOTNULL, [serviceName][nvarchar](20)COLLATEChinese_PRC_CI_ASNULL, [noPresent][char](2)COLLATEChinese_PRC_CI_ASNULL, [noNewsPaper][char](2)COLLATEChinese_PRC_CI_ASNULL, [noDrink][char](2)COLLATEChinese_PRC_CI_ASNULL, [noFood][char](2)COLLATEChinese_PRC_CI_ASNULL, [noMovie][char](2)COLLATEChinese_PRC_CI_ASNULL, [canChange][char](2)COLLATEChinese_PRC_CI_ASNULL, [canCancel][char](2)COLLATEChinese_PRC_CI_ASNULL, [canDiscount][char](2)COLLATEChinese_PRC_CI_ASNULL, [serviceMemo][text]COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]3.3創(chuàng)建客機(jī)信息表CREATETABLE[dbo].[planeInfo]( [planeNO][char](18)COLLATEChinese_PRC_CI_ASNOTNULL, [planeType][char](20)COLLATEChinese_PRC_CI_ASNULL, [buyDate][datetime]NULL, [serveDate][datetime]NULL, [isCommon][nvarchar](20)COLLATEChinese_PRC_CI_ASNULL, [isCommercial][nvarchar](20)COLLATEChinese_PRC_CI_ASNULL, [isFirst][nvarchar](20)COLLATEChinese_PRC_CI_ASNULL, [planeMemo][text]COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]3.4創(chuàng)建航線信息表CREATETABLE[dbo].[airlineInfo]( [airlineNO][char](14)COLLATEChinese_PRC_CI_ASNOTNULL, [departCity][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL, [arrivalCity][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL, [departDate][char](10)COLLATEChinese_PRC_CI_ASNULL, [departTime][char](10)COLLATEChinese_PRC_CI_ASNULL, [arrivalTime][char](10)COLLATEChinese_PRC_CI_ASNULL, [planeNO][char](18)COLLATEChinese_PRC_CI_ASNULL, [commonPrice][numeric](18,2)NULL, [commercialPrice][numeric](18,2)NULL, [firstPrice][numeric](18,2)NULL, [airlineMemo][text]COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]3.5創(chuàng)建客戶類型信息表CREATETABLE[dbo].[customerType]( [ctypeNO][char](14)COLLATEChinese_PRC_CI_ASNOTNULL, [ctypeName][char](20)COLLATEChinese_PRC_CI_ASNULL, [discount][numeric](2,0)NULL, [ctypeMemo][text]COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]3.6創(chuàng)建客戶信息表CREATETABLE[dbo].[customerInfo]( [customerNO][char](14)COLLATEChinese_PRC_CI_ASNOTNULL, [customerName][char](50)COLLATEChinese_PRC_CI_ASNULL, [customerSex][char](2)COLLATEChinese_PRC_CI_ASNULL, [customerID][char](18)COLLATEChinese_PRC_CI_ASNULL, [customerTele][char](20)COLLATEChinese_PRC_CI_ASNULL, [customerType][char](14)COLLATEChinese_PRC_CI_ASNULL, [customerMemo][text]COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]3.7創(chuàng)建訂票信息表CREATETABLE[dbo].[ticketInfo]( [ticketNO][char](14)COLLATEChinese_PRC_CI_ASNOTNULL, [customerNO][char](14)COLLATEChinese_PRC_CI_ASNULL, [customerName][char](50)COLLATEChinese_PRC_CI_ASNULL, [customerType][char](14)COLLATEChinese_PRC_CI_ASNULL, [discount][numeric](18,0)NULL, [airlineNO][char](14)COLLATEChinese_PRC_CI_ASNULL, [departCity][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL, [arrivalCity][nvarchar](50)COLLATEChinese_PRC_CI_ASNULL, [ticketDate][datetime]NULL, [serviceType][nvarchar](20)COLLATEChinese_PRC_CI_ASNULL, [ticketPrice][numeric](18,2)NULL, [ticketSum][numeric](18,2)NULL, [ticketMemo][text]COLLATEChinese_PRC_CI_ASNULL)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]4航空公司管理信息系統(tǒng)主窗體的創(chuàng)建上面的SQL語句在SQLServer2000中查詢分析器的執(zhí)行,將自動(dòng)產(chǎn)生需要的所有表格。有關(guān)數(shù)據(jù)庫結(jié)構(gòu)的所有后臺(tái)工作已經(jīng)完成?,F(xiàn)在將通過航空公司管理信息系統(tǒng)中各個(gè)功能模塊的實(shí)現(xiàn),講解如何使用VisualBasic來編寫數(shù)據(jù)庫系統(tǒng)的客戶端程序。4.1創(chuàng)建工程項(xiàng)目——MIS_Ticket啟動(dòng)VisualBasic后,單擊File|NewProject菜單,在工程模板中選擇StandardEXE,VisualBasic將自動(dòng)產(chǎn)生一個(gè)Form窗體,屬性都是缺省設(shè)置。這里我們刪除這個(gè)窗體,單擊File|SaveProject菜單,將這個(gè)工程項(xiàng)目命名為MIS_Ticket。4.2創(chuàng)建航空公司管理信息系統(tǒng)的主窗體這個(gè)項(xiàng)目我們使用多文檔界面,單擊工具欄中的ADDMDIForm按鈕,產(chǎn)生一個(gè)窗體。在這個(gè)窗體上添加所需的控件,窗體和控件的屬性設(shè)置見表9-7。創(chuàng)建好的窗體如圖9-10所示。表9-7主窗體及其控件屬性設(shè)置控件屬性屬性取值frmMain(Form)NameFrmMainCaption大唐航空公司信息管理系統(tǒng)StartUpPositonCenterScreenWindowStateMaximizedSbStatusBar(StatusBar)NameSbStatusBarPanels(1)StyleSbrTextPanels(2)StyleSbrDatePanels(3)StyleSbrTime圖9-10航空公司管理信息系統(tǒng)主窗體在主窗體中加入狀態(tài)欄控件,可以實(shí)時(shí)反映系統(tǒng)中的各個(gè)狀態(tài)的變化。狀態(tài)欄控件需要在通常的屬性窗口中設(shè)置一般屬性,還需要在其特有的彈出式菜單中進(jìn)行設(shè)置。選中狀態(tài)欄控件,單擊鼠標(biāo)右鍵,選中Property菜單,然后設(shè)置屬性。面板1用來顯示各種文本信息,面板2用來顯示當(dāng)前日期,面板3用來顯示當(dāng)前時(shí)間。4.3創(chuàng)建主窗體的菜單在如圖9-10所示的主窗體中,單擊鼠標(biāo)右鍵,選擇彈出式菜單中的MenuEditor,創(chuàng)建如圖9-11所示的菜單結(jié)構(gòu):圖9-11主窗體中的菜單結(jié)構(gòu)4.4創(chuàng)建公用模塊在VisualBasic中可以用公用模塊來存放整個(gè)工程項(xiàng)目公用的函數(shù)、過程和全局變量等。這樣可以極大地提高代碼的效率。在項(xiàng)目資源管理器中為項(xiàng)目添加一個(gè)Module,保存為Module1.bas。下面就可以開始添加需要的代碼了。由于系統(tǒng)中各個(gè)功能模塊都將頻繁使用數(shù)據(jù)庫中的各種數(shù)據(jù),因此需要一個(gè)公共的數(shù)據(jù)操作函數(shù),用以執(zhí)行各種SQL語句。添加函數(shù)ExecuteSQL,代碼如下:PublicFunctionExecuteSQL(ByValSQL_AsString,MsgStringAsString)_'執(zhí)行SQL語句,并返回記錄集對(duì)象‘聲明一個(gè)連接‘聲明一個(gè)數(shù)據(jù)集對(duì)象DimsTokens()AsString'異常處理OnErrorGoToExecuteSQL_Error'用Split函數(shù)產(chǎn)生一個(gè)包含各個(gè)子串的數(shù)組sTokens=Split(SQL)‘創(chuàng)建一個(gè)連接'打開連接cnn.OpenConnectStringIfInStr("INSERT,DELETE,UPDATE",_UCase$(sTokens(0)))Then‘執(zhí)行查詢語句cnn.ExecuteSQLMsgString=sTokens(0)&_"querysuccessful"Elserst.OpenTrim$(SQL),cnn,_adOpenKeyset,_adLockOptimistic'rst.MoveLast'getRecordCount'返回記錄集對(duì)象SetExecuteSQL=rstMsgString="查詢到"&rst.RecordCount&_"條記錄"EndIfExecuteSQL_Exit:Setrst=NothingSetcnn=NothingExitFunctionExecuteSQL_Error:MsgString="查詢錯(cuò)誤:"&_ResumeExecuteSQL_ExitEndFunction在ExecuteSQL函數(shù)中使用了ConnectString函數(shù),這個(gè)函數(shù)用來連接數(shù)據(jù)庫,代碼如下:PublicFunctionConnectString()_AsString'返回一個(gè)數(shù)據(jù)庫連接ConnectString="FileDSN=;UID=sa;PWD="EndFunction在錄入有關(guān)信息時(shí),需要回車來進(jìn)入下一個(gè)文本框,這樣對(duì)軟件使用者非常方便。在所有的功能模塊都需要這個(gè)函數(shù),所以將它放在公用模塊中,代碼如下:PublicSubEnterToTab(KeyascAsInteger)'判斷是否為回車鍵IfKeyasc=13Then'轉(zhuǎn)換成Tab鍵SendKeys"{TAB}"EndIfEndSubKeyasc用來保存當(dāng)前按鍵,SendKeys函數(shù)用來指定的按鍵。一旦按下回車鍵,將返回Tab鍵,下一個(gè)控件自動(dòng)獲得輸入焦點(diǎn)。添加全局變量,用來記錄各個(gè)功能模塊的讀寫狀態(tài),代碼如下:PublicgintSmodeAsInteger'記載艙位等級(jí)功能模塊的讀寫狀態(tài)PublicgintPmodeAsInteger'記載客機(jī)信息模塊的讀寫狀態(tài)PublicgintAmodeAsInteger'記載航線信息模塊的讀寫狀態(tài)PublicgintTmodeAsInteger'記載客戶類型模塊的讀寫狀態(tài)PublicgintCmodeAsInteger'記載客戶信息模塊的讀寫狀態(tài)PublicgintKmodeAsInteger'記載訂票信息模塊的讀寫狀態(tài)這些全局變量用來記錄是添加狀態(tài)還是修改狀態(tài),賦值1為添加,賦值2為修改。由于航空公司管理信息管理系統(tǒng)啟動(dòng)后,需要對(duì)用戶進(jìn)行判斷。如果登錄者是授權(quán)用戶,將進(jìn)入系統(tǒng),否則將停止程序的執(zhí)行。這個(gè)判斷需要在系統(tǒng)運(yùn)行的最初進(jìn)行,因此將代碼放在公用模塊中。5系統(tǒng)用戶管理模塊的創(chuàng)建用戶管理模塊主要實(shí)現(xiàn):用戶登錄。添加用戶。修改用戶密碼。6艙位信息管理模塊的創(chuàng)建艙位信息管理模塊主要實(shí)現(xiàn)如下功能:添加艙位信息。修改艙位信息。刪除艙位信息。6.1顯示艙位信息窗體的創(chuàng)建選擇“航線信息管理|艙位信息”菜單,將出現(xiàn)如圖9-12所示的窗體。圖9-12艙位等級(jí)信息窗體這個(gè)窗體用來顯示艙位等級(jí)信息,并且可以對(duì)各條記錄進(jìn)行操作。在載入窗體時(shí),程序?qū)⒆詣?dòng)載入所有記錄,代碼如下:PrivateSubmenuCarbin_Click()frmService.txtSQL="select*fromserviceInfo"frmService.Show0EndSub窗體的Show方法后面加上0或者1,可以得到不同的窗體顯示方式。參數(shù)為0時(shí),顯示的窗體為無模式形式,窗體切換時(shí)不需要進(jìn)行其他操作;參數(shù)為1時(shí),顯示的窗體為有模式形式,窗體切換時(shí)必須進(jìn)行相關(guān)操作。載入窗體時(shí)將自動(dòng)顯示各條記錄,代碼如下:PrivateSubForm_Load()ShowTitleShowDataEndSub函數(shù)ShowTitle用來顯示表頭,代碼如下:PrivateSubShowTitle()DimiAsIntegerWithmsgList.Cols=12.TextMatrix(0,1)="等級(jí)編號(hào)".TextMatrix(0,2)="機(jī)艙等級(jí)".TextMatrix(0,3)="是否有禮品".TextMatrix(0,4)="是否有報(bào)紙".TextMatrix(0,5)="是否有飲料".TextMatrix(0,6)="是否有午餐".TextMatrix(0,7)="是否提供電影".TextMatrix(0,8)="是否可以改簽".TextMatrix(0,9)="是否可以退票".TextMatrix(0,10)="是否可以打折".TextMatrix(0,11)="備注信息"'固定表頭.FixedRows=1'設(shè)置各列的對(duì)齊方式Fori=0To11.ColAlignment(i)=0Nexti'表頭項(xiàng)居中.FillStyle=flexFillRepeat.Col=0.Row=0.RowSel=1.ColSel=.Cols-1.CellAlignment=4'設(shè)置單元大小.ColWidth(0)=1000.ColWidth(1)=1000.ColWidth(2)=2000.ColWidth(3)=1000.ColWidth(4)=1000.ColWidth(5)=1000.ColWidth(6)=1000.ColWidth(7)=1000.ColWidth(8)=1000.ColWidth(9)=1000.ColWidth(10)=1000.ColWidth(11)=1000.Row=1EndWithEndSub函數(shù)ShowData把各條記錄加到表格中,并顯示出來,代碼如下:PrivateSubShowData()DimjAsIntegerDimiAsIntegerDimMsgTextAsString‘獲得數(shù)據(jù)集Setmrc=ExecuteSQL(txtSQL,MsgText)WithmsgList.Rows=1‘判斷是否為空‘移動(dòng)到下一行.Rows=.Rows+1‘循環(huán)unt‘判斷是否為空IfNotIsNull(Trim(mrc.Fields(i-1)))Then‘根據(jù)數(shù)據(jù)類型顯示SelectCasemrc.Fields(i-1).TypeCaseadDBDate.TextMatrix(.Rows-1,i)=Format(mrc.Fields(i-1)&"","yyyy-mm-dd")CaseElse.TextMatrix(.Rows-1,i)=mrc.Fields(i-1)&""EndSelectEndIfNextI‘移動(dòng)到下一條記錄NextLoopEndWith‘關(guān)閉數(shù)據(jù)集對(duì)象EndSub在窗體顯示時(shí),可以控制窗體中各個(gè)控件按照要求的位置顯示??梢栽诖绑w的Resize事件中加入代碼,代碼如下:PrivateSubForm_Resize()‘判斷當(dāng)前窗體所處的狀態(tài),當(dāng)前窗體不處于最小化狀態(tài)并且主窗體不處于最小化狀態(tài)時(shí)進(jìn)行后面的操作tate<>vbMinimizedThen'邊界處理IfMe.ScaleHeight<10*lblTitle.HeightThenExitSubEndIfIfMe.ScaleWidth<lblTitle.Width+lblTitle.Width/2ThenExitSubEndIf'控制控件的位置lblTitle.Left=(Me.Width-lblTitle.Width)/2‘控制表格控件的位置msgList.Top=lblTitle.Top+lblTitle.Height+lblTitle.Height/2msgList.Width=Me.ScaleWidth-200aleLeft+100msgList.Height=Me.ScaleHeight-msgList.Top-1500‘控制按鈕位置Frame2.Top=msgList.Top+msgList.Height+50Frame2.Left=Me.ScaleWidth/2-3000EndIfEndSub6.2添加艙位信息窗體的創(chuàng)建在艙位信息顯示窗體中單擊“添加”按鈕,將出現(xiàn)如圖9-13所示的窗體。圖9-13添加艙位等級(jí)信息窗體載入窗體時(shí),首先根據(jù)標(biāo)志變量判斷狀態(tài),然后決定是添加還是修改,代碼如下:PrivateSubForm_Load()DimintCountAsIntegerDimMsgTextAsStringDimiAsInteger‘判斷是否為添加IfgintSmode=1ThenMe.Caption=Me.Caption&"添加"Fori=0To7Combo1(i).AddItem"否"Combo1(i).AddItem"是"Combo1(i).ListIndex=0NextI‘載入當(dāng)前選擇記錄內(nèi)容ElseIfgintSmode=2ThenSetmrc=ExecuteSQL(txtSQL,MsgText)‘判斷記錄是否為空Ifmrc.EOF=FalseThenWithmrcForintCount=0To1txtItem(intCount)=.Fields(intCount)NextintCounttxtItem(2)=.Fields(10)Fori=0To7Combo1(i).AddItem"否"Combo1(i).AddItem"是"Combo1(i).ListIndex=0NextiEndWithtxtItem(0).Enabled=FalseEndIfMe.Caption=Me.Caption&"修改"EndIfmblChange=FalseEndSub輸入內(nèi)容完畢,單擊“保存”按鈕,將首先判斷輸入內(nèi)容是否滿足要求,然后添加到數(shù)據(jù)庫中。代碼如下:PrivateSubcmdSave_Click()DimintCountAsIntegerDimsMegAsStringDimMsgTextAsString‘判斷輸入內(nèi)容是否為空ForintCount=0To1IfTrim(txtItem(intCount)&"")=""ThenSelectCaseintCountCase0sMeg="機(jī)艙等級(jí)編號(hào)"Case1sMeg="機(jī)艙等級(jí)名稱"EndSelectsMeg=sMeg&"不能為空!"MsgBoxsMeg,vbOKOnly+vbExclamation,"警告"txtItem(intCount).SetFocusExitSubEndIfNextintCount‘判斷輸入內(nèi)容是否為數(shù)字IfNotIsNumeric(Trim(txtItem(0)))ThensMeg="機(jī)艙等級(jí)編號(hào)"sMeg=sMeg&"請(qǐng)輸入數(shù)字!"MsgBoxsMeg,vbOKOnly+vbExclamation,"警告"txtItem(0).SetFocusEndIf'添加判斷是否有相同的ID記錄IfgintSmode=1ThentxtSQL="select*fromserviceInfowhereserviceNO='"&Trim(txtItem(0))&"'"Setmrc=ExecuteSQL(txtSQL,MsgText)Ifmrc.EOF=FalseThenMsgBox"已經(jīng)存在此編號(hào)的記錄!",vbOKOnly+vbExclamation,"警告"txtItem(0).SetFocusExitSubEndIfEndIf'判斷是否有相同內(nèi)容的記錄txtSQL="select*fromserviceInfowhereserviceNO<>'"&Trim(txtItem(0))&"'andserviceName='"&Trim(txtItem(1))&"'"Setmrc=ExecuteSQL(txtSQL,MsgText)Ifmrc.EOF=FalseThenMsgBox"已經(jīng)存在相同機(jī)艙等級(jí)的記錄!",vbOKOnly+vbExclamation,"警告"txtItem(1).SetFocusExitSubEndIf'先刪除已有記錄txtSQL="deletefromserviceInfowhereserviceNO='"&Trim(txtItem(0))&"'"Setmrc=ExecuteSQL(txtSQL,MsgText)'再加入新記錄txtSQL="select*fromserviceInfo"Setmrc=ExecuteSQL(txtSQL,MsgText)ForintCount=0To1mrc.Fields(intCount)=Trim(txtItem(intCount))NextintCountForintCount=0To7mrc.Fields(intCount+2)=Trim(Combo1(intCount))NextintCountmrc.Fields(10)=Trim(txtItem(2))‘更新數(shù)據(jù)集內(nèi)容‘關(guān)閉數(shù)據(jù)集內(nèi)容IfgintSmode=1ThenMsgBox"添加記錄成功!",vbOKOnly+vbExclamation,"添加記錄"ForintCount=0To1txtItem(intCount)=""NextintCountForintCount=0To3Combo1(intCount).ListIndex=0NextintCounttxtItem(2)=""mblChange=FalseUnloadfrmServicefrmService.txtSQL="select*fromserviceInfo"ElseIfgintSmode=2ThenUnloadMeUnloadfrmServicefrmService.txtSQL="select*fromserviceInfo"EndIfEndSub6.3修改艙位等級(jí)信息在艙位等級(jí)信息列表中選擇需要修改的記錄,然后單擊“修改”按鈕,將出現(xiàn)如圖9-13所示的窗體。選擇記錄的內(nèi)容將顯示在窗體中,可以進(jìn)行修改,最后保存修改后的記錄。代碼如下:PrivateSubcmdModify_Click()DimintCountAsInteger判斷列表中是否有記錄IffrmService.msgList.Rows>1Then‘改變狀態(tài)變量gintSmode=2‘記錄選擇記錄位置IfintCount>0ThenfrmService1.txtSQL="select*fromserviceInfowhereserviceNO='"&Trim(msgList.TextMatrix(intCount,1))&"'"frmService1.Show1ElseMsgBox"警告",vbOKOnly+vbExclamation,"請(qǐng)首先選擇需要修改的記錄!"EndIfEndIfEndSub6.4刪除艙位等級(jí)信息在艙位等級(jí)信息列表中選擇需要?jiǎng)h除的記錄,然后單擊“刪除”按鈕,將刪除當(dāng)前記錄,代碼如下:PrivateSubcmdDelete_Click()DimtxtSQLAsStringDimintCountAsIntegerDimMsgTextAsString‘判斷信息列表中內(nèi)容是否為空IfmsgList.Rows>1Then‘提示信息IfMsgBox("真的要?jiǎng)h除機(jī)艙等級(jí)為"&Trim(msgList.TextMatrix(msgList.Row,2))&"的記錄嗎?",vbOKCancel+vbExclamation,"警告")=vbOKThen‘記錄選擇記錄位置intCount‘刪除重復(fù)記錄txtSQL="deletefromserviceInfowhereserviceNO='"&Trim(msgList.TextMatrix(intCount,1))&"'"Setmrc=ExecuteSQL(txtSQL,MsgText)‘卸載窗體UnloadfrmService‘重新載入記錄并顯示frmService.txtSQL="select*fromserviceInfo"EndIfEndIfEndSub7客機(jī)信息管理模塊的創(chuàng)建客機(jī)信息管理模塊主要實(shí)現(xiàn)如下功能:添加客機(jī)信息。修改客機(jī)信息。刪除客機(jī)信息。查詢客機(jī)信息。7.1顯示客機(jī)信息窗體的創(chuàng)建選擇“航線信息管理|客機(jī)信息”菜單,將出現(xiàn)如圖9-14所示的窗體。所有客機(jī)信息都將顯示出來。窗體的Load事件調(diào)用ShowTitle、ShowData函數(shù),將所有記錄顯示出來。圖9-14顯示客機(jī)信息列表窗體7.2添加客機(jī)信息窗體的創(chuàng)建單擊客機(jī)信息列表中的“添加”按鈕,將出現(xiàn)如圖9-15所示的窗體。圖9-15添加客機(jī)信息列表輸入內(nèi)容完畢,單擊“保存”按鈕,將首先判斷輸入內(nèi)容是否滿足要求,然后將記錄添加到數(shù)據(jù)庫中,代碼如下:PrivateSubcmdSave_Click()DimintCountAsIntegerDimsMegAsStringDimMsgTextAsString‘判斷輸入內(nèi)容是否為空ForintCount=0To6IfTrim(txtItem(intCount)&"")=""ThenSelectCaseintCountCase0sMeg="客機(jī)編號(hào)"Case1sMeg="客機(jī)型號(hào)"Case2sMeg="購買時(shí)間"Case3sMeg="服役時(shí)間"Case4sMeg="經(jīng)濟(jì)艙座位數(shù)量"Case5sMeg="公務(wù)艙座位數(shù)量"Case6sMeg="頭等艙座位數(shù)量"EndSelectsMeg=sMeg&"不能為空!"MsgBoxsMeg,vbOKOnly+vbExclamation,"警告"txtItem(intCount).SetFocusExitSubEndIfNextintCount‘判斷輸入內(nèi)容為數(shù)字ForintCount=4To6IfNotIsNumeric(Trim(txtItem(intCount)))ThensMeg="座位數(shù)量"sMeg=sMeg&"請(qǐng)輸入數(shù)字!"MsgBoxsMeg,vbOKOnly+vbExclamation,"警告"txtItem(intCount).SetFocusEndIfNextintCount‘判斷輸入內(nèi)容是否為日期ForintCount=2To3IfIsDate(txtItem(intCount))ThentxtItem(intCount)=Format(txtItem(intCount),"yyyy-mm-dd")ElseMsgBox"時(shí)間應(yīng)輸入日期(yyyy-mm-dd)!",vbOKOnly+vbExclamation,"警告"txtItem(intCount).SetFocusExitSubEndIfNextintCount'添加判斷是否有相同的ID記錄IfgintPmode=1ThentxtSQL="select*fromplaneInfowhereplaneNO='"&Trim(txtItem(0))&"'"Setmrc=ExecuteSQL(txtSQL,MsgText)Ifmrc.EOF=FalseThenMsgBox"已經(jīng)存在此編號(hào)的記錄!",vbOKOnly+vbExclamation,"警告"txtItem(0).SetFocusExitSubEndIfEndIf'先刪除已有記錄txtSQL="deletefromplaneInfowhereplaneNO='"&Trim(txtItem(0))&"'"Setmrc=ExecuteSQL(txtSQL,MsgText)'再加入新記錄txtSQL="select*fromplaneInfo"Setmrc=ExecuteSQL(txtSQL,MsgText)ForintCount=0To7mrc.Fields(intCount)=Trim(txtItem(intCount))NextintCount‘更新數(shù)據(jù)集‘關(guān)閉數(shù)據(jù)集對(duì)象IfgintPmode=1ThenMsgBox"添加記錄成功!",vbOKOnly+vbExclamation,"添加記錄"ForintCount=0To7txtItem(intCount)=""NextintCountmblChange=FalseUnloadfrmPlanefrmPlane.txtSQL="select*fromplaneInfo"ElseIfgintPmode=2ThenUnloadMeUnloadfrmPlanefrmPlane.txtSQL="select*fromplaneInfo"EndIfEndSub7.3修改客機(jī)信息在客機(jī)信息列表中選擇記錄,然后單擊“修改”按鈕。當(dāng)前記錄將顯示在如圖9-15所示的窗體中,可以進(jìn)行修改。代碼如下:PrivateSubcmdModify_Click()DimintCountAsInteger‘判斷列表內(nèi)容是否為空IffrmPlane.msgList.Rows>1ThengintPmode=2‘記載選擇記錄的位置IfintCount>0ThenfrmPlane1.txtSQL="select*fromplaneInfowhereplaneNO='"&Trim(msgList.TextMatrix(intCount,1))&"'"frmPlane1.Show1ElseMsgBox"警告",vbOKOnly+vbExclamation,"請(qǐng)首先選擇需要修改的記錄!"EndIfEndIfEndSub7.4刪除客機(jī)信息在客機(jī)信息列表中選擇記錄,然后單擊“刪除”按鈕,當(dāng)前記錄將被刪除。代碼如下:PrivateSubcmdDelete_Click()DimtxtSQLAsStringDimintCountAsIntegerDimMsgTextAsString‘判斷列表內(nèi)容是否為空IfmsgList.Rows>1ThenIfMsgBox("真的要?jiǎng)h除客機(jī)編號(hào)為"&Trim(msgList.TextMatrix(msgList.Row,1))&"的型號(hào)為"&Trim(msgList.TextMatrix(msgList.Row,2))&"的客機(jī)記錄嗎?",vbOKCancel+vbExclamation,"警告")=vbOKThen‘記載選擇記錄的位置txtSQL="deletefromplaneInfowhereplaneNO='"&Trim(msgList.TextMatrix(intCount,1))&"'"Setmrc=ExecuteSQL(txtSQL,MsgText)UnloadfrmPlane‘重新載入所有記錄,并顯示出來frmPlane.txtSQL="select*fromplaneInfo"EndIfEndIfEndSub7.5查詢客機(jī)信息在客機(jī)信息列表中單擊“查詢”按鈕,將出現(xiàn)如圖9-16所示的窗體。圖9-16查詢客機(jī)信息的窗體載入窗體時(shí),將自動(dòng)加入所有客機(jī)編號(hào)和客機(jī)型號(hào)的信息,代碼如下:PrivateSubForm_Load()DimiAsIntegerDimsSqlAsStringDimtxtSQLAsStringDimMsgTextAsString‘清楚各個(gè)列表框中的內(nèi)容Fori=0To1Combo1(i).ClearNexti‘選擇數(shù)據(jù)庫中所有客機(jī)編號(hào)的內(nèi)容txtSQL="selectDISTINCTplaneNOfromplaneInfo"Setmrc=ExecuteSQL(txtSQL,MsgText)‘判斷數(shù)據(jù)庫是否為空IfNotmrc.EOFThenCombo1(0).AddItemTrim(mrc.Fields(0))LoopElseMsgBox"請(qǐng)先進(jìn)行客機(jī)信息設(shè)置!",vbOKOnly+vbExclamation,"警告"ExitSubEndIf‘選擇所有數(shù)據(jù)庫中有關(guān)飛機(jī)型號(hào)的內(nèi)容txtSQL="selectDISTINCTplaneTypefromplaneInfo"Setmrc=ExecuteSQL(txtSQL,MsgText)‘判斷數(shù)據(jù)集對(duì)象是否為空IfNotmrc.EOFThenCombo1(1).AddItemTrim(mrc.Fields(0))NextLoopElseMsgBox"請(qǐng)先進(jìn)行客機(jī)信息設(shè)置!",vbOKOnly+vbExclamation,"警告"ExitSubEndIf‘關(guān)閉數(shù)據(jù)集對(duì)象EndSub設(shè)置完查詢內(nèi)容和方式后,單擊cmdOK按鈕將進(jìn)行查詢。所有滿足條件的記錄將顯示在如圖9-14所示的窗體中,代碼如下:PrivateSubcmdOK_Click()DimsQSqlAsString‘判斷是否按照客機(jī)編號(hào)查詢IfchkItem(0).Value=vbCheckedThensQSql="planeNO='"&Trim(Combo1(0)&"")&"'"EndIf‘判斷是否按照客機(jī)型號(hào)查詢IfchkItem(1).Value=vbCheckedThenIfTrim(sQSql&"")=""ThensQSql="planeType='"&Trim(Combo1(1)&"")&"'"ElsesQSql=sQSql&"andplaneType='"&Trim(Combo1(1)&"")&"'"EndIfEndIf‘判斷查詢內(nèi)容是否為空IfTrim(sQSql)=""ThenMsgBox"請(qǐng)?jiān)O(shè)置查詢條件!",vbOKOnly+vbExclamation,"警告"ExitSubElse‘顯示所有滿足查詢條件的內(nèi)容frmPlane.txtSQL="select*fromplaneInfowhere"&sQSqlUnloadfrmPlaneEndIfEndSub8航線信息管理模塊的創(chuàng)建航線信息管理模塊主要實(shí)現(xiàn)如下功能:添加航線信息。修改航線信息。刪除航線信息。查詢航線信息。8.1顯示航線信息窗體的創(chuàng)建選擇“航線信息管理|航線信息”菜單,將出現(xiàn)如圖9-17所示的窗體。所有航線信息都將顯示出來。窗體的Load事件調(diào)用ShowTitle、ShowData函數(shù),將所有記錄顯示出來。圖9-17顯示客機(jī)信息窗體8.2添加航線信息窗體的創(chuàng)建選擇“航線信息管理|航線信息”菜單,將出現(xiàn)如圖9-18所示的窗體,用來添加航線信息。圖9-18添加航線窗體輸入完航線信息后,單擊“保存”按鈕:程序首先檢查輸入內(nèi)容是否符合要求,然后檢查是否有重復(fù)記錄,最后添加到數(shù)據(jù)庫中。8.3修改航線信息在航線信息列表中選擇記錄,然后單擊“修改”按鈕。當(dāng)前記錄將顯示在如圖9-18所示的窗體中,可以進(jìn)行修改。代碼如下:PrivateSubcmdModify_Click()DimintCountAsInteger‘判斷列表內(nèi)容是否為空IffrmAirline.msgList.Rows>1ThengintAmode=2‘記載選擇記錄的位置IfintCount>0ThenfrmAirline1.txtSQL="select*fromairlineInfowhereairlineNO='"&Trim(msgList.TextMatrix(intCount,1))&"'"frmAirline1.Show1ElseMsgBox"警告",vbOKOnly+vbExclamation,"請(qǐng)首先選擇需要修改的記錄!"EndIfEndIfEndSub8.4刪除航線信息在航線信息列表中選擇記錄,然后單擊“刪除”按鈕,當(dāng)前記錄將被刪除。代碼如下:PrivateSubcmdDelete_Click()DimtxtSQLAsStringDimintCountAsIntegerDimMsgTextAsString‘判斷列表內(nèi)容是否為空IfmsgList.Rows>1ThenIfMsgBox("真的要?jiǎng)h除"&Trim(msgList.TextMatrix(msgList.Row,4))&"從"&Trim(msgList.TextMatrix(msgList.Row,2))&"出發(fā)到"&Trim(msgList.TextMatrix(msgList.Row,3))&"的航線記錄嗎?",vbOKCancel+vbExclamation,"警告")=vbOKThen‘記載選擇記錄位置txtSQL="deletefromairlineInfowhereairlineNO='"&Trim(msgList.TextMatrix(intCount,1))&"'"Setmrc=ExecuteSQL(txtSQL,MsgText)‘重新載入記錄并顯示UnloadfrmAirlinefrmAirline.txtSQL="select*fromairlineInfo"EndIfEndIfEndSub8.5查詢航線信息在航線信息列表中單擊“查詢”按鈕,將出現(xiàn)如圖9-19所示的窗體。圖9-19航線信息查詢窗體載入窗體時(shí)自動(dòng)加入出發(fā)城市和到達(dá)城市的內(nèi)容,代碼如下:PrivateSubForm_Load()DimiAsIntegerDimsSqlAsStringDimtxtSQLAsStringDimMsgTextAsString‘清除列表框中的內(nèi)容Fori=0To1Combo1(i).ClearNexti‘選擇數(shù)據(jù)庫中與出發(fā)城市有關(guān)的內(nèi)容txtSQL="selectDISTINCTdepartCityfromairlineInfo"Setmrc=ExecuteSQL(txtSQL,MsgText)‘判斷數(shù)據(jù)集是否為空IfNotmrc.EOFThenCombo1(0).AddItemTrim(mrc.Fields(0))LoopElseMsgBox"請(qǐng)先進(jìn)行航線信息設(shè)置!",vbOKOnly+vbExclamation,"警告"ExitSubEndIftxtSQL="selectDISTINCTarrivalCityfromairlineInfo"Setmrc=ExecuteSQL(txtSQL,MsgText)IfNotmrc.EOFThenCombo1(1).AddItemTrim(mrc.Fields(0))LoopElseMsgBox"請(qǐng)先進(jìn)行航線信息設(shè)置!",vbOKOnly+vbExclamation,"警告"ExitSubEndIfEndSub設(shè)置查詢內(nèi)容后,單擊“確定”按鈕,所有滿足查詢條件的內(nèi)容顯示在航線信息列表中。9客戶類型信息管理模塊的創(chuàng)建客戶類型信息管理模塊主要實(shí)現(xiàn)如下功能:添加客戶類型信息。修改客戶類型信息。刪除客戶類型信息。9.1顯示客戶類型信息窗體的創(chuàng)建選擇“客戶信息管理|客戶類型”菜單,將出現(xiàn)如圖9-20所示的窗體。所有客戶類型信息都將顯示出來。窗體的Load事件調(diào)用ShowTitle、ShowData函數(shù),將所有記錄顯示出來。圖9-20顯示客戶類型信息窗體9.2添加客戶類型信息窗體的創(chuàng)建在客戶類型信息列表中單擊“添加”按鈕,將出現(xiàn)如圖9-21所示的窗體,用來添加客戶類型信息。圖9-21添加客戶類型信息窗體輸入內(nèi)容完畢,單擊“保存”按鈕,程序?qū)⑹紫葯z查內(nèi)容是否符合要求,然后檢查是否有重復(fù)記錄,最后添加到數(shù)據(jù)庫中。9.3修改客戶類型信息在客戶類型信息列表中選擇需要修改的記錄,然后單擊“修改”按鈕,當(dāng)前記錄將出現(xiàn)在如圖9-14所示的窗體中。修改完畢,單擊“保存”按鈕,修改后的記錄保存到數(shù)據(jù)庫中。代碼如下:PrivateSubcmdModify_Click()DimintCountAsInteger‘判斷列表內(nèi)容是否為空IffrmcType.msgList.Rows>1ThengintTmode=2‘記載選擇記錄的位置‘判斷是否選擇記
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年分離純化控制系統(tǒng)合作協(xié)議書
- 人教版 八年級(jí)英語下冊(cè) Unit 10 單元綜合測(cè)試卷(2025年春)
- 人教版化學(xué)九年級(jí)上冊(cè)第一單元《-走進(jìn)化學(xué)世界》測(cè)試試題(含答案)
- 2025年產(chǎn)品買賣協(xié)議常用版(4篇)
- 2025年個(gè)人車輛出租合同常用版(4篇)
- 2025年代理進(jìn)口合同標(biāo)準(zhǔn)范文(2篇)
- 2025年九年級(jí)年級(jí)組長管理工作總結(jié)(四篇)
- 2025年人防工程施工合同(三篇)
- 2025年個(gè)人股權(quán)的投資協(xié)議(三篇)
- 2025年九年級(jí)班主任年度期末工作總結(jié)模版(二篇)
- 產(chǎn)業(yè)鏈競(jìng)爭(zhēng)關(guān)聯(lián)度
- TTJSFB 002-2024 綠色融資租賃項(xiàng)目評(píng)價(jià)指南
- 涵洞施工鋼筋混凝土圓管涵
- 高考地理一輪復(fù)習(xí)學(xué)案+區(qū)域地理填圖+亞洲
- 全新車位轉(zhuǎn)讓協(xié)議模板下載(2024版)
- 高中數(shù)學(xué)必修一試卷及答案
- 砌筑工考試卷及答案
- 呼吸治療師進(jìn)修匯報(bào)
- 智慧港口和自動(dòng)化集裝箱碼頭
- 2024年江西電力職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫及答案解析
- 天合儲(chǔ)能:2024儲(chǔ)能專用電芯白皮書
評(píng)論
0/150
提交評(píng)論