黃 旌 (空軍第一航空學(xué)院計(jì)量技術(shù)教研室,河南 信陽 464000;武漢理工大學(xué)材料學(xué)院,湖北 武漢 430070)
李恒偉 (94795部隊(duì)修理廠,江西 九江 241007)
計(jì)量器具管理系統(tǒng)的實(shí)現(xiàn)
黃 旌 (空軍第一航空學(xué)院計(jì)量技術(shù)教研室,河南 信陽 464000;武漢理工大學(xué)材料學(xué)院,湖北 武漢 430070)
李恒偉 (94795部隊(duì)修理廠,江西 九江 241007)
針對(duì)航空機(jī)務(wù)部隊(duì)計(jì)量組計(jì)量管理工作中計(jì)量器具種類多、信息量大、容易出現(xiàn)部分計(jì)量器具漏檢、誤檢或狀態(tài)不明等問題,利用Access設(shè)計(jì)實(shí)現(xiàn)計(jì)量器具管理系統(tǒng),主要功能包括查詢信息、錄入信息、盤點(diǎn)信息、備忘記錄、傳遞信息、擴(kuò)展功能等。實(shí)際運(yùn)行效果表明,該系統(tǒng)操作簡單,使用方便,克服了計(jì)量器具查找、管理、報(bào)表等不方便的困難,從而使計(jì)量組的計(jì)量器具管理工作上了一個(gè)新的臺(tái)階。
計(jì)量器具;窗體;宏;VBA;Access2003
航空機(jī)務(wù)部隊(duì)計(jì)量組是當(dāng)前空軍計(jì)量保障體系的基層單位,其計(jì)量工作正常運(yùn)行與否直接關(guān)系到飛機(jī)的飛行安全[1]。計(jì)量組日常工作存在如下問題:人員少、任務(wù)重;工作中涉及的計(jì)量器具種類多而每一種類數(shù)量少,用傳統(tǒng)的手工紙制臺(tái)賬無法方便地管理和查找各類器具,容易出現(xiàn)漏檢、誤檢或部分計(jì)量器具狀態(tài)不明等現(xiàn)象[2]。為此,筆者利用Microsoft Access 2003數(shù)據(jù)庫,開發(fā)計(jì)量器具管理系統(tǒng),實(shí)現(xiàn)快速、準(zhǔn)確地對(duì)各類計(jì)量器具進(jìn)行查找、管理、報(bào)表輸出,實(shí)現(xiàn)對(duì)到期計(jì)量器具自動(dòng)提醒并制訂檢定計(jì)劃,有效解決計(jì)量器具的漏檢、誤檢問題,保證航空機(jī)務(wù)計(jì)量工作的高效性和準(zhǔn)確性。
圖1 “計(jì)量器具管理系統(tǒng)”功能模塊圖
系統(tǒng)功能模塊設(shè)計(jì)如圖1所示。
Access2003提供7種對(duì)象[3]:表、查詢、窗體、報(bào)表、數(shù)據(jù)訪問頁、宏、模塊,在系統(tǒng)設(shè)計(jì)時(shí)從功能和彼此間的關(guān)系角度考慮,將這7種對(duì)象分為3個(gè)層次:①表對(duì)象和查詢對(duì)象。它們屬于數(shù)據(jù)庫的基本對(duì)象,用于在數(shù)據(jù)庫中存儲(chǔ)數(shù)據(jù)和查詢數(shù)據(jù)。②窗體對(duì)象、報(bào)表對(duì)象和數(shù)據(jù)訪問頁。它們屬于直接面向用戶的對(duì)象,用于數(shù)據(jù)的輸入輸出和應(yīng)用系統(tǒng)的驅(qū)動(dòng)控制。③宏對(duì)象和模塊對(duì)象。它們屬于代碼類型的對(duì)象,用于通過組織宏操作或編寫程序來完成復(fù)雜的數(shù)據(jù)庫管理工作。該系統(tǒng)通過對(duì)各個(gè)層次對(duì)象的有效利用,從而實(shí)現(xiàn)計(jì)量器具管理系統(tǒng)的基本功能:查詢信息、錄入信息、盤點(diǎn)信息、備忘記錄、傳遞信息、擴(kuò)展功能等。下面按照上述3個(gè)層次分別介紹系統(tǒng)各功能的實(shí)現(xiàn)。
2.1根據(jù)需求分析建立數(shù)據(jù)表
計(jì)量器具是計(jì)量儀器(亦稱主動(dòng)式計(jì)量器具)和量具(亦稱被動(dòng)式計(jì)量器具)以及標(biāo)準(zhǔn)物質(zhì)的總稱,是計(jì)量所必需的技術(shù)裝備。結(jié)合計(jì)量組工作的實(shí)際需要對(duì)計(jì)量器具信息分析,建立“計(jì)量器具信息”數(shù)據(jù)表,主要包括:設(shè)備編號(hào)、設(shè)備類別、設(shè)備名稱、規(guī)格型號(hào)、測量范圍、分度值、允許誤差、準(zhǔn)確度等級(jí)、管理類別、設(shè)備狀態(tài)、所屬部門、存入地點(diǎn)、責(zé)任人、檢定日期、啟用日期、封存日期、報(bào)廢日期、檢定周期、檢定單位、檢定員、檢定結(jié)果、生產(chǎn)廠家、出廠日期、出廠編號(hào)、入賬日期、備注等信息[4]。
另外,建立“系統(tǒng)提示”表和“備忘記錄”表。
2.2建立查詢對(duì)象
圖2 “計(jì)量器具信息查詢”設(shè)計(jì)視圖
查詢是為來自一個(gè)或多個(gè)表的資料提供定制視圖的對(duì)象,是Access數(shù)據(jù)庫處理和分析的工具,它能夠把多個(gè)表中的數(shù)據(jù)抽取出來,供用戶查看、更改和分析使用。筆者以“計(jì)量器具信息表”為數(shù)據(jù)源建立“計(jì)量器具信息查詢”、“今日到期待檢器具信息查詢”等6個(gè)查詢數(shù)據(jù)集。創(chuàng)建查詢有2種方式:設(shè)計(jì)視圖法和利用查詢向?qū)Х?。在?chuàng)建查詢的過程中首先要選擇創(chuàng)建方式及查詢的來源,然后定義要查詢的內(nèi)容和準(zhǔn)則,根據(jù)定義的內(nèi)容和準(zhǔn)則在數(shù)據(jù)庫表中查找符合備件的記錄。設(shè)計(jì)視圖法建立查詢?nèi)鐖D2所示。
窗體對(duì)象、報(bào)表對(duì)象和數(shù)據(jù)訪問頁用于直接面向用戶進(jìn)行數(shù)據(jù)輸入輸出和應(yīng)用系統(tǒng)的功能控制,是系統(tǒng)設(shè)計(jì)的重點(diǎn)和難點(diǎn)。
3.1窗體的建立
窗體是主要的人機(jī)接口,用于顯示表和查詢中的數(shù)據(jù),輸入數(shù)據(jù)、編輯數(shù)據(jù)和修改數(shù)據(jù),窗體只能通過運(yùn)行宏或VBA過程,實(shí)現(xiàn)窗體的信息與數(shù)據(jù)來源之間建立鏈接,其實(shí)現(xiàn)方法有3種:①以查詢?yōu)閿?shù)據(jù)來源創(chuàng)建窗體,如“查詢信息”窗體、“盤點(diǎn)信息”窗體、“今日到期待檢器具”窗體;②以表為數(shù)據(jù)來源創(chuàng)建窗體,如“錄入信息”窗體、“助手幫助”窗體、“備忘記錄”窗體;③通過編輯控件或控件代碼實(shí)現(xiàn)特定功能,如“用戶登錄”窗體、“主界面”窗體。
圖3 “計(jì)量器具信息查詢窗體”窗體視圖
下面簡單介紹“查詢信息”窗體的實(shí)現(xiàn)過程。在查詢窗體中設(shè)計(jì)按鈕選擇區(qū)域、信息查詢區(qū)域、信息顯示區(qū)域3個(gè)部分,用戶只需在查詢區(qū)域輸入相關(guān)查詢信息,在按鈕區(qū)域進(jìn)行有效選擇,便可在顯示區(qū)域得到所有符合查詢條件的器具信息,如圖3所示。
查詢設(shè)計(jì)有多條件模糊查詢和精確查詢功能,查詢操作方法簡便,實(shí)用性高,其按鈕對(duì)應(yīng)的各項(xiàng)功能是通過對(duì)VBA代碼的編輯來實(shí)現(xiàn)的,主要有“執(zhí)行查詢”、“清除記錄”等功能按鈕。在設(shè)計(jì)“執(zhí)行查詢”按鈕關(guān)鍵代碼時(shí),考慮用戶需求及部分器具信息的查詢特點(diǎn)不同,將查詢對(duì)象設(shè)計(jì)分為模糊查詢、精確查詢2大類。可以列為模糊查詢的字段有:設(shè)備編號(hào)、規(guī)格型號(hào)、設(shè)備名稱、名稱拼音、生產(chǎn)廠家、出廠編號(hào);可以列為精確查詢的字段有:設(shè)備類別、管理類別、設(shè)備狀態(tài)。部分關(guān)鍵代碼如下:
Private Sub 執(zhí)行模糊查詢_Click() ‘聲明“執(zhí)行模糊查詢”按鈕單擊事件過程
On Error GoTo Err_執(zhí)行模糊查詢_Click ‘如果程序出現(xiàn)錯(cuò)誤,則直接跳到錯(cuò)誤代碼處
Dim strWhere As String ‘定義條件字符串
strWhere = “” ‘設(shè)定初始值-空字符串
If Not IsNull(Me. 設(shè)備編號(hào)) Then ‘判斷【設(shè)備編號(hào)】條件是否有輸入的值
strWhere=strWhere amp; “([設(shè)備編號(hào)] like ‘*” amp; Me. 設(shè)備-編號(hào)amp; “*‘) AND ” ‘有輸入
End If
……
If Not IsNull(Me.設(shè)備類別) Then
strWhere = strWhere amp; “([設(shè)備類別] like‘” amp; Me.設(shè)備類別amp;“’) AND”
End If
……
If Len(strWhere) gt; 0 Then ‘如果有輸入條件
strWhere = Left(strWhere, Len(strWhere) - 5)
End If
‘讓子窗體應(yīng)用窗體查詢
Me.計(jì)量器具信息查詢子窗體.Form.Filter = strWhere
Me.計(jì)量器具信息查詢子窗體.Form.FilterOn = True
Exit_執(zhí)行模糊查詢_Click:
Exit Sub
Err_執(zhí)行模糊查詢_Click:
MsgBox Err.Description
Resume Exit_執(zhí)行模糊查詢_Click
End Sub
3.2報(bào)表的設(shè)計(jì)
“計(jì)量器具查詢信息”報(bào)表是以“計(jì)量器具信息”查詢?yōu)閿?shù)據(jù)源,為選定的計(jì)量器具信息格式化預(yù)覽、輸出而設(shè)計(jì)的。用戶使用時(shí)可以根據(jù)需求對(duì)符合條件的計(jì)量器具相關(guān)信息進(jìn)行選擇,利用報(bào)表控制數(shù)據(jù)內(nèi)容的大小及外觀,對(duì)相關(guān)數(shù)據(jù)進(jìn)行排序和匯總,選擇輸出數(shù)據(jù)到屏幕或打印設(shè)備上。
圖4 系統(tǒng)運(yùn)行效果圖
系統(tǒng)通過“主控面板”宏、“主菜單”宏以主菜單和各窗口跳轉(zhuǎn)按鈕的形式把數(shù)據(jù)庫的各個(gè)對(duì)象連接起來,便于用戶在各個(gè)窗體功能之間轉(zhuǎn)換操作。主要通過設(shè)計(jì)宏組利用OpenForm、Close、Quit等宏操作來實(shí)現(xiàn)各個(gè)窗口的跳轉(zhuǎn)、關(guān)閉、退出等。
系統(tǒng)運(yùn)行效果圖如圖4所示。經(jīng)半年試用,取得了比較滿意的效果。系統(tǒng)每次啟動(dòng)后自動(dòng)彈出的“器具到期自動(dòng)提示”功能以及“盤點(diǎn)信息”功能,可有效防止計(jì)量器具發(fā)生漏檢、誤檢。
[1]吳劍秋. 航空機(jī)務(wù)計(jì)量[M]. 北京:中國人民解放軍空軍裝備部,2006.
[2]高濤. 航空兵部隊(duì)檢定管理信息系統(tǒng)設(shè)計(jì)與應(yīng)用[J]. 計(jì)量技術(shù),2004,(2):48~50.
[3]魏茂林. ACCESS數(shù)據(jù)庫管理與開發(fā)案例訓(xùn)練教程[M]. 北京:電子工業(yè)出版社,2005.
[4]黃旌. 計(jì)量信息管理系統(tǒng)的實(shí)現(xiàn)[J].長江大學(xué)學(xué)報(bào)(自然科學(xué)版),2008,(3):221~223.
[編輯] 李啟棟
TP216
A
1673-1409(2009)01-N069-03
2008-12-24
黃旌(1975-),男,1997年大學(xué)畢業(yè),講師,碩士生,現(xiàn)主要從事計(jì)量和測試方面的教學(xué)與研究工作。