![航空公司管理信息系統(tǒng)畢業(yè)論文_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/22/f252d213-29c8-48c4-9854-b5b1b79bd6b8/f252d213-29c8-48c4-9854-b5b1b79bd6b81.gif)
![航空公司管理信息系統(tǒng)畢業(yè)論文_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/22/f252d213-29c8-48c4-9854-b5b1b79bd6b8/f252d213-29c8-48c4-9854-b5b1b79bd6b82.gif)
![航空公司管理信息系統(tǒng)畢業(yè)論文_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/22/f252d213-29c8-48c4-9854-b5b1b79bd6b8/f252d213-29c8-48c4-9854-b5b1b79bd6b83.gif)
![航空公司管理信息系統(tǒng)畢業(yè)論文_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/22/f252d213-29c8-48c4-9854-b5b1b79bd6b8/f252d213-29c8-48c4-9854-b5b1b79bd6b84.gif)
![航空公司管理信息系統(tǒng)畢業(yè)論文_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/22/f252d213-29c8-48c4-9854-b5b1b79bd6b8/f252d213-29c8-48c4-9854-b5b1b79bd6b85.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、航空公司管理信息系統(tǒng)一個正常營運的航空公司需要管理所擁有的飛機、航線的設置、客戶的信息等,更重要的還要提供票務管理。面對各種不同種類的信息,需要合理的數(shù)據(jù)庫結構來保存數(shù)據(jù)信息以及有效的程序結構支持各種數(shù)據(jù)操作的執(zhí)行。本設計講述如何建立一個航空公司管理信息系統(tǒng)。一般而言,航空公司的管理信息系統(tǒng)應該包括人事、工資管理模塊 。1 系統(tǒng)設計1.1 系統(tǒng)功能分析系統(tǒng)開發(fā)的總體任務是實現(xiàn)各種信息的系統(tǒng)化、規(guī)范化和自動化。系統(tǒng)功能分析是在系統(tǒng)開發(fā)的總體任務的基礎上完成。本例子中的航空公司管理信息系統(tǒng)需要完成功能主要有:l 艙位信息的輸入和修改,包括艙位等級編號、艙位等級名稱、提供的各種服務類別,以及備注信息
2、等。l 客機信息的輸入、修改和查詢,包括客機編號、客機型號、購買時間、服役時間、經(jīng)濟艙座位數(shù)量、公務艙座位數(shù)量、頭等艙座位數(shù)量以及備注信息等。l 航線信息的輸入、修改和查詢,包括航線編號、出發(fā)城市、到達城市、航班日期、出發(fā)時間、到達時間、客機編號、經(jīng)濟艙價格、公務艙價格、頭等艙價格和備注信息等。l 客戶等級信息的輸入、修改,包括客戶等級編號、客戶等級名稱、折扣比例和備注信息等。l 客戶信息的輸入、修改和查詢,包括客戶編號、客戶姓名、客戶性別、身份證號碼、聯(lián)系電話、客戶類型和備注信息等。l 訂票信息的輸入、查詢和修改,包括訂票編號、客戶編號、客戶姓名、客戶類型、折扣比例、航線編號、出發(fā)城市、到達
3、城市、出發(fā)時間、艙位類型、票價、結算金額和備注信息等。1.2 系統(tǒng)功能模塊設計對上述各項功能進行集中、分塊,按照結構化程序設計的要求,得到如圖9-1所示的系統(tǒng)功能模塊圖。圖9-1 系統(tǒng)功能模塊圖2 數(shù)據(jù)庫設計數(shù)據(jù)庫在一個信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結構設計的好壞將直接對應用系統(tǒng)的效率以及實現(xiàn)的效果產生影響。合理的數(shù)據(jù)庫結構設計可以提高數(shù)據(jù)存儲的效率,保證數(shù)據(jù)的完整和一致。設計數(shù)據(jù)庫系統(tǒng)時應該首先充分了解用戶各個方面的需求,包括現(xiàn)有的以及將來可能增加的需求。數(shù)據(jù)庫設計一般包括如下幾個步驟:l 數(shù)據(jù)庫需要分析。l 數(shù)據(jù)庫概念結構設計。l 數(shù)據(jù)庫邏輯結構設計。2.1 數(shù)據(jù)庫需求分析用戶的
4、需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫結構能充分滿足各種信息的輸出和輸入。收集基本數(shù)據(jù)、數(shù)據(jù)結構以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典,為后面的具體設計打下基礎。仔細分析調查有關航空公司管理信息需求的基礎上,將得到如圖9-2所示的本系統(tǒng)所處理的數(shù)據(jù)流程。圖9-2 航空公司管理信息系統(tǒng)數(shù)據(jù)流程圖針對一般航空公司管理信息系統(tǒng)的需求,通過對航空公司管理工作過程的內容和數(shù)據(jù)流程分析,設計如下面所示的數(shù)據(jù)項和數(shù)據(jù)結構:l 艙位等級信息,包括的數(shù)據(jù)項有:艙位等級編號、艙位等級名稱、是否有禮品、是否有報紙、是否有飲料、是否有午餐、是否有電影、是否可以改簽、是否可以退票、是否可以打
5、折、備注信息等。l 客機信息,包括的數(shù)據(jù)項有:客機編號、客機型號、購買時間、服役時間、經(jīng)濟艙座位數(shù)量、公務艙座位數(shù)量、頭等艙座位數(shù)量、備注信息等。l 航線信息,包括的數(shù)據(jù)項有:航線編號、出發(fā)城市、到達城市、航班日期、出發(fā)時間、到達時間、客機編號、經(jīng)濟艙價格、公務艙價格、頭等艙價格、備注信息等。l 客戶類型信息,包括的數(shù)據(jù)項有:客戶類型編號、客戶類型名稱、折扣比例、備注信息等。l 客戶信息,包括的數(shù)據(jù)項有:客戶編號、客戶姓名、客戶性別、身份證號碼、聯(lián)系電話、客戶類型、備注信息等。l 訂票信息,包括的數(shù)據(jù)項有:訂票編號、顧客編號、顧客姓名、顧客類型、折扣比例、航線編號、出發(fā)城市、到達城市、艙位類型
6、、機票價格、結算金額、備注信息等。有了上面的數(shù)據(jù)結構、數(shù)據(jù)項和數(shù)據(jù)流程,我們就能進行下面的數(shù)據(jù)庫設計。2.2 數(shù)據(jù)庫概念結構設計得到上面的數(shù)據(jù)項和數(shù)據(jù)結構以后,就可以設計出能夠滿足用戶需求的各種實體,以及它們之間的關系,為后面的邏輯結構設計打下基礎。這些實體包含各種具體信息,通過相互之間的作用形成數(shù)據(jù)的流動。本實例根據(jù)上面的設計規(guī)劃出的實體有:艙位等級信息實體、客機信息實體、航線信息實體、客戶類型信息實體、客戶信息實體、訂票信息實體。各個實體具體的描述e-r圖如下。艙位等級信息實體e-r圖如圖9-3所示。圖9-3 艙位等級信息實體e-r圖客機信息實體e-r圖如圖9-4所示。圖9-4 客機信息實
7、體e-r圖航線信息實體e-r圖如圖9-5所示。圖9-5 航線信息實體e-r圖客戶類型信息實體e-r圖如圖9-6所示。圖9-6 客戶類型信息實體e-r圖客戶信息實體e-r圖如圖9-7所示。圖9-7 客戶信息實體e-r圖訂票信息實體e-r圖如圖9-8所示。圖9-8 訂票信息實體e-r圖實體之間關系的e-r圖如圖9-9所示。圖9-9 實體之間關系的e-r圖2.3 數(shù)據(jù)庫邏輯結構設計現(xiàn)在需要將上面的數(shù)據(jù)庫概念結構轉化為sql server 2000數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結構。航空公司管理信息系統(tǒng)數(shù)據(jù)庫中各個表格的設計結果如下面表格所示。每個表格表示在數(shù)據(jù)庫中的一個表。表9-
8、1為供應商信息表。表9-1 serviceinfo 艙位等級信息表列 名數(shù)據(jù)類型可否為空說 明servicenocharnot null艙位等級編號servicenamenvarcharnull艙位等級名稱nopresentcharnull是否有禮物nonewspapercharnull是否有報紙nodrinkcharnull是否有飲料nofoodcharnull是否有午餐nomoviecharnull是否有電影canchangecharnull是否可以改簽cancancelcharnull是否可以退票candiscountcharnull是否可以打折servicememotextnull備注
9、信息表9-2為顧客信息表格。表9-2 planeinfo客機信息表格列 名數(shù)據(jù)類型可否為空說 明planenocharnot null客機編號planetypecharnull客機型號buydatedatetimenull購買日期servedatedatetimenull服役日期iscommonnvarcharnull經(jīng)濟艙座位數(shù)量iscommercialnvarcharnull公務艙座位數(shù)量isfirstnvarcharnull頭等艙座位數(shù)量planememotextnull備注信息表9-3為航線信息表。表9-3 airlineinfo航線信息表列 名數(shù)據(jù)類型可否為空說 明airlineno
10、charnot null航線編號departcitynvarcharnull出發(fā)城市arrivalcitynvarcharnull到達城市departdatecharnull航班日期departtimecharnull出發(fā)時間arrivaltimecharnull到達時間planenocharnull客機編號commonpricenumericnull經(jīng)濟艙價格commercialpricenumericnull公務艙價格firstpricenumericnull頭等艙價格airlinememotextnull備注信息表9-4為客戶類型信息表格。表9-4 customertype 客戶類型信息
11、表列 名數(shù)據(jù)類型可否為空說 明ctypenocharnot null客戶類型編號ctypenamecharnull客戶類型名稱discountnumericnull折扣比例續(xù)表列 名數(shù)據(jù)類型可否為空說 明ctypememotextnull備注表9-5為客戶信息表格。表9-5 customerinfo 客戶信息表列 名數(shù)據(jù)類型可否為空說 明customernocharnot null客戶編號customernamecharnull客戶姓名customersexcharnull客戶性別customeridcharnull身份證號碼customertelecharnull客戶聯(lián)系電話customer
12、typecharnull客戶類型customermemotextnull備注表9-6為訂票信息表格。表9-6 ticketinfo 訂票信息表列 名數(shù)據(jù)類型可否為空說 明ticketnocharnot null訂票編號customernocharnull客戶編號customernamecharnull客戶姓名customertypecharnull客戶類型discountnumericnull折扣比例airlinenocharnull航線編號departcitynvarcharnull出發(fā)城市arrivalcitynvarcharnull到達城市ticketdatedatetimenull出發(fā)
13、日期servicetypecharnull艙位類型ticketpricenumericnull機票價格ticketsumnumericnull結算金額customermemotextnull備注3 數(shù)據(jù)庫結構的實現(xiàn)經(jīng)過前面的需求分析和概念結構設計以后,得到數(shù)據(jù)庫的邏輯結構?,F(xiàn)在就可以在sql server 2000數(shù)據(jù)庫系統(tǒng)中實現(xiàn)該邏輯結構。這是利用sql server 2000數(shù)據(jù)庫系統(tǒng)中的sql 查詢分析器實現(xiàn)的。下面給出創(chuàng)建這些表格的sql語句。3.1 創(chuàng)建系統(tǒng)用戶表create table dbo.user_info1 (user_id char (10) collate chines
14、e_prc_ci_as not null ,user_pwd char (10) collate chinese_prc_ci_as null ,user_des char (10) collate chinese_prc_ci_as null ) on primary3.2 創(chuàng)建艙位等級信息表create table dbo.serviceinfo (serviceno char (4) collate chinese_prc_ci_as not null ,servicename nvarchar (20) collate chinese_prc_ci_as null ,nopresent
15、 char (2) collate chinese_prc_ci_as null ,nonewspaper char (2) collate chinese_prc_ci_as null ,nodrink char (2) collate chinese_prc_ci_as null ,nofood char (2) collate chinese_prc_ci_as null ,nomovie char (2) collate chinese_prc_ci_as null ,canchange char (2) collate chinese_prc_ci_as null ,cancance
16、l char (2) collate chinese_prc_ci_as null ,candiscount char (2) collate chinese_prc_ci_as null ,servicememo text collate chinese_prc_ci_as null ) on primary textimage_on primary3.3 創(chuàng)建客機信息表create table dbo.planeinfo (planeno char (18) collate chinese_prc_ci_as not null ,planetype char (20) collate ch
17、inese_prc_ci_as null ,buydate datetime null ,servedate datetime null ,iscommon nvarchar (20) collate chinese_prc_ci_as null ,iscommercial nvarchar (20) collate chinese_prc_ci_as null ,isfirst nvarchar (20) collate chinese_prc_ci_as null ,planememo text collate chinese_prc_ci_as null ) on primary tex
18、timage_on primary3.4 創(chuàng)建航線信息表create table dbo.airlineinfo (airlineno char (14) collate chinese_prc_ci_as not null ,departcity nvarchar (50) collate chinese_prc_ci_as null ,arrivalcity nvarchar (50) collate chinese_prc_ci_as null ,departdate char (10) collate chinese_prc_ci_as null ,departtime char (1
19、0) collate chinese_prc_ci_as null ,arrivaltime char (10) collate chinese_prc_ci_as null ,planeno char (18) collate chinese_prc_ci_as null ,commonprice numeric(18, 2) null ,commercialprice numeric(18, 2) null ,firstprice numeric(18, 2) null ,airlinememo text collate chinese_prc_ci_as null ) on primar
20、y textimage_on primary3.5 創(chuàng)建客戶類型信息表create table dbo.customertype (ctypeno char (14) collate chinese_prc_ci_as not null ,ctypename char (20) collate chinese_prc_ci_as null ,discount numeric(2, 0) null ,ctypememo text collate chinese_prc_ci_as null ) on primary textimage_on primary3.6 創(chuàng)建客戶信息表create ta
21、ble dbo.customerinfo (customerno char (14) collate chinese_prc_ci_as not null ,customername char (50) collate chinese_prc_ci_as null ,customersex char (2) collate chinese_prc_ci_as null ,customerid char (18) collate chinese_prc_ci_as null ,customertele char (20) collate chinese_prc_ci_as null ,custo
22、mertype char (14) collate chinese_prc_ci_as null ,customermemo text collate chinese_prc_ci_as null ) on primary textimage_on primary3.7 創(chuàng)建訂票信息表create table dbo.ticketinfo (ticketno char (14) collate chinese_prc_ci_as not null ,customerno char (14) collate chinese_prc_ci_as null ,customername char (5
23、0) collate chinese_prc_ci_as null ,customertype char (14) collate chinese_prc_ci_as null ,discount numeric(18, 0) null ,airlineno char (14) collate chinese_prc_ci_as null ,departcity nvarchar (50) collate chinese_prc_ci_as null ,arrivalcity nvarchar (50) collate chinese_prc_ci_as null ,ticketdate da
24、tetime null ,servicetype nvarchar (20) collate chinese_prc_ci_as null ,ticketprice numeric(18, 2) null ,ticketsum numeric(18, 2) null ,ticketmemo text collate chinese_prc_ci_as null ) on primary textimage_on primary4 航空公司管理信息系統(tǒng)主窗體的創(chuàng)建上面的sql語句在sql server 2000中查詢分析器的執(zhí)行,將自動產生需要的所有表格。有關數(shù)據(jù)庫結構的所有后臺工作已經(jīng)完成?,F(xiàn)
25、在將通過航空公司管理信息系統(tǒng)中各個功能模塊的實現(xiàn),講解如何使用visual basic來編寫數(shù)據(jù)庫系統(tǒng)的客戶端程序。4.1 創(chuàng)建工程項目mis_ticket啟動visual basic后,單擊file|new project菜單,在工程模板中選擇standard exe,visual basic將自動產生一個form窗體,屬性都是缺省設置。這里我們刪除這個窗體,單擊file|save project菜單,將這個工程項目命名為mis_ticket。4.2 創(chuàng)建航空公司管理信息系統(tǒng)的主窗體這個項目我們使用多文檔界面,單擊工具欄中的add mdi form按鈕,產生一個窗體。在這個窗體上添加所需的控
26、件,窗體和控件的屬性設置見表9-7。創(chuàng)建好的窗體如圖9-10所示。表9-7 主窗體及其控件屬性設置控 件屬 性屬性取值frmmain(form)namefrmmaincaption大唐航空公司信息管理系統(tǒng)startuppositoncenterscreenwindowstatemaximizedsbstatusbar(statusbar)namesbstatusbarpanels(1)stylesbrtextpanels(2)stylesbrdatepanels(3)stylesbrtime圖9-10 航空公司管理信息系統(tǒng)主窗體在主窗體中加入狀態(tài)欄控件,可以實時反映系統(tǒng)中的各個狀態(tài)的變化。狀態(tài)
27、欄控件需要在通常的屬性窗口中設置一般屬性,還需要在其特有的彈出式菜單中進行設置。選中狀態(tài)欄控件,單擊鼠標右鍵,選中property菜單,然后設置屬性。面板1用來顯示各種文本信息,面板2用來顯示當前日期,面板3用來顯示當前時間。4.3 創(chuàng)建主窗體的菜單在如圖9-10所示的主窗體中,單擊鼠標右鍵,選擇彈出式菜單中的menu editor,創(chuàng)建如圖9-11所示的菜單結構:圖9-11 主窗體中的菜單結構4.4 創(chuàng)建公用模塊在visual basic中可以用公用模塊來存放整個工程項目公用的函數(shù)、過程和全局變量等。這樣可以極大地提高代碼的效率。在項目資源管理器中為項目添加一個module,保存為modul
28、e1.bas。下面就可以開始添加需要的代碼了。由于系統(tǒng)中各個功能模塊都將頻繁使用數(shù)據(jù)庫中的各種數(shù)據(jù),因此需要一個公共的數(shù)據(jù)操作函數(shù),用以執(zhí)行各種sql語句。添加函數(shù)executesql,代碼如下:public function executesql(byval sql _ as string, msgstring as string) _ as adodb.recordset執(zhí)行sql語句,并返回記錄集對象 聲明一個連接 dim cnn as adodb.connection 聲明一個數(shù)據(jù)集對象 dim rst as adodb.recordset dim stokens() as strin
29、g異常處理 on error goto executesql_error用split函數(shù)產生一個包含各個子串的數(shù)組 stokens = split(sql) 創(chuàng)建一個連接 set cnn = new adodb.connection打開連接 cnn.open connectstring if instr(insert,delete,update, _ ucase$(stokens(0) then 執(zhí)行查詢語句 cnn.execute sql msgstring = stokens(0) & _ query successful else set rst = new adodb.recordse
30、t rst.open trim$(sql), cnn, _ adopenkeyset, _ adlockoptimistic rst.movelast get recordcount返回記錄集對象 set executesql = rst msgstring = 查詢到 & rst.recordcount & _ 條記錄 end ifexecutesql_exit: set rst = nothing set cnn = nothing exit function executesql_error: msgstring = 查詢錯誤: & _ err.description resume ex
31、ecutesql_exitend function 在executesql函數(shù)中使用了connect string函數(shù),這個函數(shù)用來連接數(shù)據(jù)庫,代碼如下:public function connectstring() _ as string返回一個數(shù)據(jù)庫連接 connectstring = filedsn=ticket.dsn;uid=sa;pwd=end function在錄入有關信息時,需要回車來進入下一個文本框,這樣對軟件使用者非常方便。在所有的功能模塊都需要這個函數(shù),所以將它放在公用模塊中,代碼如下:public sub entertotab(keyasc as integer) 判斷
32、是否為回車鍵 if keyasc = 13 then 轉換成tab鍵 sendkeys tab end ifend subkeyasc用來保存當前按鍵,sendkeys函數(shù)用來指定的按鍵。一旦按下回車鍵,將返回tab鍵,下一個控件自動獲得輸入焦點。添加全局變量,用來記錄各個功能模塊的讀寫狀態(tài),代碼如下:public gintsmode as integer 記載艙位等級功能模塊的讀寫狀態(tài)public gintpmode as integer 記載客機信息模塊的讀寫狀態(tài)public gintamode as integer 記載航線信息模塊的讀寫狀態(tài)public ginttmode as int
33、eger 記載客戶類型模塊的讀寫狀態(tài)public gintcmode as integer 記載客戶信息模塊的讀寫狀態(tài)public gintkmode as integer 記載訂票信息模塊的讀寫狀態(tài)這些全局變量用來記錄是添加狀態(tài)還是修改狀態(tài),賦值1為添加,賦值2為修改。由于航空公司管理信息管理系統(tǒng)啟動后,需要對用戶進行判斷。如果登錄者是授權用戶,將進入系統(tǒng),否則將停止程序的執(zhí)行。這個判斷需要在系統(tǒng)運行的最初進行,因此將代碼放在公用模塊中。5 系統(tǒng)用戶管理模塊的創(chuàng)建用戶管理模塊主要實現(xiàn):l 用戶登錄。l 添加用戶。l 修改用戶密碼。 6 艙位信息管理模塊的創(chuàng)建艙位信息管理模塊主要實現(xiàn)如下功能:
34、l 添加艙位信息。l 修改艙位信息。l 刪除艙位信息。6.1 顯示艙位信息窗體的創(chuàng)建選擇“航線信息管理|艙位信息”菜單,將出現(xiàn)如圖9-12所示的窗體。圖9-12 艙位等級信息窗體這個窗體用來顯示艙位等級信息,并且可以對各條記錄進行操作。在載入窗體時,程序將自動載入所有記錄,代碼如下:private sub menucarbin_click() frmservice.txtsql = select * from serviceinfo frmservice.show 0end sub窗體的show方法后面加上0或者1,可以得到不同的窗體顯示方式。參數(shù)為0時,顯示的窗體為無模式形式,窗體切換時不需
35、要進行其他操作;參數(shù)為1時,顯示的窗體為有模式形式,窗體切換時必須進行相關操作。載入窗體時將自動顯示各條記錄,代碼如下:private sub form_load() showtitle showdataend sub函數(shù)showtitle用來顯示表頭,代碼如下:private sub showtitle() dim i as integer with msglist .cols = 12 .textmatrix(0, 1) = 等級編號 .textmatrix(0, 2) = 機艙等級 .textmatrix(0, 3) = 是否有禮品 .textmatrix(0, 4) = 是否有報紙 .
36、textmatrix(0, 5) = 是否有飲料 .textmatrix(0, 6) = 是否有午餐 .textmatrix(0, 7) = 是否提供電影 .textmatrix(0, 8) = 是否可以改簽 .textmatrix(0, 9) = 是否可以退票 .textmatrix(0, 10) = 是否可以打折 .textmatrix(0, 11) = 備注信息 固定表頭 .fixedrows = 1 設置各列的對齊方式 for i = 0 to 11 .colalignment(i) = 0 next i 表頭項居中 .fillstyle = flexfillrepeat .col =
37、 0 .row = 0 .rowsel = 1 .colsel = .cols - 1 .cellalignment = 4 設置單元大小 .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
38、(11) = 1000 .row = 1 end withend sub函數(shù)showdata把各條記錄加到表格中,并顯示出來,代碼如下:private sub showdata() dim j as integer dim i as integer dim msgtext as string獲得數(shù)據(jù)集 set mrc = executesql(txtsql, msgtext) with msglist .rows = 1 判斷是否為空 do while not mrc.eof 移動到下一行 .rows = .rows + 1 循環(huán) for i = 1 to mrc.fields.count 判
39、斷是否為空 if not isnull(trim(mrc.fields(i - 1) then 根據(jù)數(shù)據(jù)類型顯示 select case mrc.fields(i - 1).type case addbdate .textmatrix(.rows - 1, i) = format(mrc.fields(i - 1) & , yyyy-mm-dd) case else .textmatrix(.rows - 1, i) = mrc.fields(i - 1) & end select end if next i 移動到下一條記錄 mrc.movenext loop end with 關閉數(shù)據(jù)集對
40、象 mrc.closeend sub在窗體顯示時,可以控制窗體中各個控件按照要求的位置顯示??梢栽诖绑w的resize事件中加入代碼,代碼如下:private sub form_resize() 判斷當前窗體所處的狀態(tài),當前窗體不處于最小化狀態(tài)并且主窗體不處于最小化狀態(tài)時進行后面的操作 if me.windowstate vbminimized and fmainform.windowstate vbminimized then 邊界處理 if me.scaleheight 10 * lbltitle.height then exit sub end if if me.scalewidth lb
41、ltitle.width + lbltitle.width / 2 then exit sub end if 控制控件的位置 lbltitle.top = lbltitle.height lbltitle.left = (me.width - lbltitle.width) / 2 控制表格控件的位置 msglist.top = lbltitle.top + lbltitle.height + lbltitle.height / 2 msglist.width = me.scalewidth - 200 msglist.left = me.scaleleft + 100 msglist.hei
42、ght = me.scaleheight - msglist.top - 1500 控制按鈕位置 frame2.top = msglist.top + msglist.height + 50 frame2.left = me.scalewidth / 2 - 3000 end ifend sub6.2 添加艙位信息窗體的創(chuàng)建在艙位信息顯示窗體中單擊“添加”按鈕,將出現(xiàn)如圖9-13所示的窗體。圖9-13 添加艙位等級信息窗體載入窗體時,首先根據(jù)標志變量判斷狀態(tài),然后決定是添加還是修改,代碼如下:private sub form_load() dim intcount as integer dim
43、 msgtext as string dim i as integer 判斷是否為添加 if gintsmode = 1 then me.caption = me.caption & 添加 for i = 0 to 7 combo1(i).additem 否 combo1(i).additem 是 combo1(i).listindex = 0 next i 載入當前選擇記錄內容 elseif gintsmode = 2 then set mrc = executesql(txtsql, msgtext) 判斷記錄是否為空 if mrc.eof = false then with mrc fo
44、r intcount = 0 to 1 txtitem(intcount) = .fields(intcount) next intcount txtitem(2) = .fields(10) for i = 0 to 7 combo1(i).additem 否 combo1(i).additem 是 combo1(i).listindex = 0 next i end with txtitem(0).enabled = false end if me.caption = me.caption & 修改 end if mblchange = falseend sub輸入內容完畢,單擊“保存”按
45、鈕,將首先判斷輸入內容是否滿足要求,然后添加到數(shù)據(jù)庫中。代碼如下:private sub cmdsave_click() dim intcount as integer dim smeg as string dim msgtext as string 判斷輸入內容是否為空 for intcount = 0 to 1 if trim(txtitem(intcount) & ) = then select case intcount case 0 smeg = 機艙等級編號 case 1 smeg = 機艙等級名稱 end select smeg = smeg & 不能為空! msgbox sme
46、g, vbokonly + vbexclamation, 警告 txtitem(intcount).setfocus exit sub end if next intcount 判斷輸入內容是否為數(shù)字 if not isnumeric(trim(txtitem(0) then smeg = 機艙等級編號 smeg = smeg & 請輸入數(shù)字! msgbox smeg, vbokonly + vbexclamation, 警告 txtitem(0).setfocus end if 添加判斷是否有相同的id記錄 if gintsmode = 1 then txtsql = select * fr
47、om serviceinfo where serviceno= & trim(txtitem(0) & set mrc = executesql(txtsql, msgtext) if mrc.eof = false then msgbox 已經(jīng)存在此編號的記錄!, vbokonly + vbexclamation, 警告 txtitem(0).setfocus exit sub end if mrc.close end if 判斷是否有相同內容的記錄 txtsql = select * from serviceinfo where serviceno & trim(txtitem(0) & and servicename= & trim(txtitem(1) & set mrc = executesql(txtsql, msgtext) if mrc.eof = false then msgbox 已經(jīng)存在相同機艙等級的記錄!, vbokonly + vbexclamation, 警告 txtitem(1).s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中山青旅社租賃合同范本
- 2025年度城市地下綜合管廊施工環(huán)境保護分包合同范本
- 2025年度城市綠化工程建筑圍擋施工合同模板
- 2025年MMC卡外殼項目投資可行性研究分析報告
- 2025年中國多索茶堿葡萄糖注射液行業(yè)全景評估及投資規(guī)劃建議報告
- 2025年度建筑勞務施工合同解除條件合同范本
- 2025年農用機件項目投資可行性研究分析報告
- 2025年度房地產顧問合同模板匯編
- 2019-2025年中國老年人保健品市場發(fā)展現(xiàn)狀調查及投資趨勢前景分析報告
- 2025年度創(chuàng)業(yè)公司股權轉讓與代持股權益調整協(xié)議書
- 2024-2025學年冀教版數(shù)學五年級上冊期末測試卷(含答案)
- 商業(yè)綜合體市場調研報告
- 少兒素描課件
- 天津市部分區(qū)2023-2024學年高二上學期期末考試 生物 含解析
- 《對私外匯業(yè)務從業(yè)資格》開放式測試答案
- 《保險法解讀》課件
- 非煤礦山復工復產安全培訓
- 變壓器投標書-技術部分
- 《我國跨境電子商務消費者權益保護問題研究》
- 2024九省聯(lián)考適應性考試【甘肅省】歷史試卷及答案解析
- 四年級語文下冊第六單元【集體備課】(教材解讀+教學設計)
評論
0/150
提交評論