郁雷 張騁 樊黎
摘 ?要: 為使產(chǎn)品庫(kù)存和產(chǎn)品質(zhì)量檢驗(yàn)數(shù)據(jù)管理規(guī)范化、便捷化,并且在企業(yè)內(nèi)部局域網(wǎng)實(shí)現(xiàn)數(shù)據(jù)共享,對(duì)企業(yè)的庫(kù)存管理方式和產(chǎn)品質(zhì)檢過(guò)程進(jìn)行充分調(diào)研,針對(duì)中小型機(jī)械制造類企業(yè)的實(shí)際需求,利用Microsoft Access 2003開(kāi)發(fā)了產(chǎn)品實(shí)時(shí)庫(kù)存及質(zhì)量檢驗(yàn)管理系統(tǒng)。實(shí)踐證明,該數(shù)據(jù)庫(kù)系統(tǒng)解決了企業(yè)舊的臺(tái)賬管理方式中數(shù)據(jù)處理機(jī)械化、低效率問(wèn)題。
關(guān)鍵詞: Access數(shù)據(jù)庫(kù); 實(shí)時(shí)庫(kù)存; 質(zhì)量檢驗(yàn); 數(shù)據(jù)共享; 中小企業(yè)
中圖分類號(hào):TP311.1;TP311.5 ? ? ? ? ?文獻(xiàn)標(biāo)志碼:A ? ? ? ?文章編號(hào):1006-8228(2015)07-42-04
Product real-time inventory and quality inspection management system based on ACCESS
Yu Lei1, Zhang Cheng1, Fan Li2
(1. Shanghai Institute of Technology, Shanghai 201400, China; 2. Shanghai Pudong Xinxing Machinery Factory)
Abstract: To meet the actual demand of small and medium-sized machinery manufacturing enterprises, a system based on Microsoft Access 2003, through which the product management of real-time inventory and quality inspection can be standardized and facilitated, is developed by means of a thorough investigation on enterprises status and approaches. It has been proved that the management system does improve the efficiency for fabricators to deal with their data and reports.
Key words: Access database; real-time inventory; quality inspection; data sharing; small and medium-sized enterprises
0 引言
Access數(shù)據(jù)庫(kù)是由微軟發(fā)布的關(guān)聯(lián)式數(shù)據(jù)庫(kù)管理系統(tǒng)[1],可作為其他開(kāi)發(fā)工具(如.NET、C語(yǔ)言、VB等)的數(shù)據(jù)庫(kù),用來(lái)儲(chǔ)存數(shù)據(jù)。Access擁有強(qiáng)大的數(shù)據(jù)處理、統(tǒng)計(jì)分析能力,Access的查詢功能可以方便的實(shí)現(xiàn)各類數(shù)據(jù)的匯總、求平均等操作,在進(jìn)行上萬(wàn)乃至幾十萬(wàn)條數(shù)據(jù)的處理分析時(shí)能顯著提高工作效率和準(zhǔn)確性。此外,Access還可以用于各類軟件的開(kāi)發(fā),比如生產(chǎn)管理、銷售管理、庫(kù)存管理等各類企業(yè)管理軟件,在企業(yè)內(nèi)部網(wǎng)絡(luò)中可很方便的實(shí)現(xiàn)數(shù)據(jù)共享。
Access提供了7種用于創(chuàng)建數(shù)據(jù)庫(kù)系統(tǒng)的對(duì)象:表,查詢,窗體,報(bào)表,頁(yè),宏,模塊[2]。這7種對(duì)象全面滿足了數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)過(guò)程中的各種需求。利用Access 2003創(chuàng)建數(shù)據(jù)庫(kù)管理系統(tǒng),可與Access各高版本之間相互兼容。Access屬于微軟自帶的辦公套件,對(duì)操作系統(tǒng)無(wú)特殊要求;而且其最大的優(yōu)點(diǎn)在于易上手,非專業(yè)人員也能在較短時(shí)間內(nèi)熟練操作[3],對(duì)初學(xué)者也大大降低了開(kāi)發(fā)難度,這些都低成本地滿足了從事企業(yè)管理人員的需要,對(duì)企業(yè)的高效率低成本運(yùn)行起到了一定的幫助作用。
1 系統(tǒng)結(jié)構(gòu)
本系統(tǒng)建立一個(gè)數(shù)據(jù)庫(kù),涉及到表、查詢、窗體、報(bào)表、宏、模塊這6個(gè)對(duì)象。所有數(shù)據(jù)儲(chǔ)存于表中,窗體用來(lái)創(chuàng)建用戶界面。整個(gè)系統(tǒng)的結(jié)構(gòu)如圖1所示。
[主界面][實(shí)時(shí)庫(kù)存][質(zhì)量檢驗(yàn)][退出系統(tǒng)][入庫(kù)管理][出庫(kù)管理][入庫(kù)管理][查詢][數(shù)據(jù)庫(kù)][返回][鑄件][刀具][五金][型材][返回][鑄件][刀具][五金][型材][返回][庫(kù)存查詢][入庫(kù)查詢][出庫(kù)查詢][退貨查詢][返回] [基本尺寸][公差][參照標(biāo)準(zhǔn)][檢驗(yàn)方法][檢驗(yàn)員][零件圖][…][添加][打印檢驗(yàn)報(bào)告][實(shí)測(cè)值][材質(zhì)報(bào)告] [圖紙信息][報(bào)告生成] [產(chǎn)品實(shí)時(shí)庫(kù)存及質(zhì)量檢驗(yàn)管理系統(tǒng)]
圖1 ?系統(tǒng)結(jié)構(gòu)圖
2 系統(tǒng)功能
我們用Access 2003開(kāi)發(fā)的《產(chǎn)品實(shí)時(shí)庫(kù)存及質(zhì)量檢驗(yàn)管理系統(tǒng)》包括如下功能。
⑴ 添加,修改,瀏覽數(shù)據(jù):如錄入產(chǎn)品出入庫(kù)信息,錄入圖紙信息,添加零件圖和材質(zhì)報(bào)告(按路徑存入對(duì)應(yīng)文件夾中),瀏覽入庫(kù)、出庫(kù)、退貨信息,瀏覽產(chǎn)品數(shù)據(jù)庫(kù)信息等。
⑵ 查詢,搜索功能:如查詢鑄件的重量、庫(kù)存數(shù)量、庫(kù)存金額,按種類、材料、尺寸等條件模糊搜索相應(yīng)型材的入庫(kù)重量、入庫(kù)金額等。
⑶ 打印功能:打印產(chǎn)品的檢驗(yàn)報(bào)告,其內(nèi)容包括零件圖、零件基本信息、檢驗(yàn)數(shù)據(jù)、材質(zhì)報(bào)告等。
⑷ 局域網(wǎng)數(shù)據(jù)共享:采用拆分mdb文件,將mdb后臺(tái)數(shù)據(jù)庫(kù)放到服務(wù)器上共享,前臺(tái)數(shù)據(jù)庫(kù)進(jìn)行表鏈接并分發(fā)前臺(tái)數(shù)據(jù)庫(kù)的方式。
3 具體設(shè)計(jì)
本系統(tǒng)包括“實(shí)時(shí)庫(kù)存”和“質(zhì)量檢驗(yàn)”兩大塊功能,如前所述,本系統(tǒng)用到表、查詢、窗體、報(bào)表、宏、模塊這6個(gè)對(duì)象。
3.1 創(chuàng)建表
表是用來(lái)存儲(chǔ)有關(guān)特定主題的數(shù)據(jù)的數(shù)據(jù)庫(kù)對(duì)象,在數(shù)據(jù)庫(kù)全部7個(gè)對(duì)象中最為基本也最為重要,所有的數(shù)據(jù)均要存儲(chǔ)于表中,它是數(shù)據(jù)庫(kù)系統(tǒng)建立的前提[4]。
在Access 2003中可使用表向?qū)?lái)創(chuàng)建表,不同的表用于儲(chǔ)存不同類別的數(shù)據(jù),根據(jù)具體設(shè)計(jì)需求設(shè)置各表的屬性,依次向表中添加字段,設(shè)置主鍵和字段數(shù)據(jù)類型。
根據(jù)本系統(tǒng)的實(shí)際情況分析,使用表向?qū)?lái)創(chuàng)建表,基本數(shù)據(jù)表包括:毛坯出入庫(kù)、退貨單,成品出入庫(kù)、退貨單,刀具出入庫(kù)、退貨單,五金出入庫(kù)、退貨單,型材出入庫(kù)、退貨單,檢驗(yàn)項(xiàng)目表,零件信息表等等。表1為毛坯入庫(kù)單表:
表1 ?毛坯入庫(kù)單表
[編號(hào)\&1\&2\&3\&4\&5\&6\&7\&8\&字段\&入庫(kù)ID\&零件號(hào)\&物品名稱\&重量\&客戶\&入庫(kù)數(shù)量\&入庫(kù)日期\&備注\&類型\&自動(dòng)編號(hào)\&文本\&文本\&文本\&文本\&數(shù)字\&日期/時(shí)間\&文本\&字段
大小\&長(zhǎng)整型\&50\&30\&20\&30\&長(zhǎng)整型\&\&30\&]
3.2 查詢
數(shù)據(jù)往往要按各種目的進(jìn)行歸納處理,而僅僅通過(guò)查看表中的數(shù)據(jù)對(duì)于實(shí)際問(wèn)題的解決是遠(yuǎn)遠(yuǎn)不夠的。Access中的查詢對(duì)象可以為數(shù)據(jù)處理提供完善的解決方案,不用再編輯表之間的關(guān)系就可以建立各表和各查詢之間的關(guān)系[5]。我們可使用查詢篩選數(shù)據(jù)、執(zhí)行數(shù)據(jù)計(jì)算和匯總數(shù)據(jù),還可以使用查詢自動(dòng)執(zhí)行許多數(shù)據(jù)管理任務(wù),并在提交數(shù)據(jù)更改之前查看這些更改。
本系統(tǒng)主要涉及各類產(chǎn)品的出入庫(kù)、退貨以及庫(kù)存情況查詢。庫(kù)存查詢需分兩步完成。第一步:對(duì)出入庫(kù)和退貨情況進(jìn)行匯總查詢,按產(chǎn)品信息對(duì)入庫(kù)單表進(jìn)行分組再匯總處理(如圖2所示)。第二步:匯總處理完成后,建立出入庫(kù)以及退貨匯總查詢?nèi)咧g的關(guān)系,創(chuàng)建庫(kù)存查詢,其中,庫(kù)存數(shù)量為入庫(kù)數(shù)量減去出庫(kù)數(shù)量與退貨數(shù)量的總和(其關(guān)系如圖3所示)。
圖2 ?鑄件入庫(kù)單匯總查詢
3.3 用戶界面
用戶界面以窗體形式顯示,窗體也是一個(gè)數(shù)據(jù)庫(kù)對(duì)象,人們可以通過(guò)窗體查看和訪問(wèn)數(shù)據(jù)庫(kù),有效的窗體可以提高使用數(shù)據(jù)庫(kù)的效率,外觀賞心悅目的窗體可以增加使用數(shù)據(jù)庫(kù)的樂(lè)趣。在Access中我們可以自主地向窗體添加各種命令按鈕和其他功能來(lái)執(zhí)行所需操作,可設(shè)計(jì)性強(qiáng)。
本系統(tǒng)所需窗體較多,有各類產(chǎn)品的出入庫(kù)以及退貨信息錄入窗體,庫(kù)存查詢窗體,圖紙信息錄入窗體(如圖4所示),檢驗(yàn)報(bào)告生成窗體。
3.4 宏
宏是一種工具,幫助操作者自動(dòng)執(zhí)行任務(wù),它將一些常規(guī)操作的代碼集成起來(lái),通過(guò)可視化選擇,方便設(shè)計(jì)者在執(zhí)行這些操作時(shí)進(jìn)行調(diào)用,而無(wú)需在VBA模塊中再寫(xiě)代碼,相當(dāng)于為這些代碼設(shè)置了一個(gè)“快捷鍵”。例如,向窗體中添加一個(gè)命令按鈕,可將按鈕的單擊事件與某個(gè)宏相關(guān)聯(lián),在每次單擊時(shí)會(huì)自動(dòng)執(zhí)行該宏所對(duì)應(yīng)的事件。
本系統(tǒng)主要通過(guò)將宏賦予不同的命令按鈕來(lái)實(shí)現(xiàn)打開(kāi)窗體和打印報(bào)表等操作。
3.5 切換面板
切換面板屬于一種特殊的窗體對(duì)象,通過(guò)數(shù)據(jù)庫(kù)實(shí)用工具中的切換面板管理器來(lái)專門生成。其上可添加標(biāo)題和圖片用以裝飾。切換面板上帶有按鈕和鏈接,可通過(guò)它瀏覽數(shù)據(jù)庫(kù)。
本系統(tǒng)利用切換面板來(lái)作系統(tǒng)啟動(dòng)界面,用戶可在切換面板上實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)所有窗體的調(diào)用。以下用例子加以說(shuō)明。
⑴ 產(chǎn)品實(shí)時(shí)庫(kù)存面板(如圖5所示)為進(jìn)入系統(tǒng)首頁(yè)。
圖5 ?產(chǎn)品實(shí)時(shí)庫(kù)存面板
⑵ 單擊產(chǎn)品實(shí)時(shí)庫(kù)存面板上的“入庫(kù)管理”,出現(xiàn)提示“請(qǐng)輸入口令”,輸入口令,出現(xiàn)“入庫(kù)管理”面板(如圖6所示)。
圖6 ?入庫(kù)管理面板
⑶ 單擊“入庫(kù)管理”面板上前五個(gè)按鈕,進(jìn)入相應(yīng)產(chǎn)品的入庫(kù)信息錄入界面;單擊“修改口令”,可設(shè)置進(jìn)入此面板的新口令;單擊“返回上級(jí)菜單”,可返回上一級(jí)面板。
3.6 報(bào)表
報(bào)表是基于當(dāng)前數(shù)據(jù)庫(kù)中所有數(shù)據(jù),或者部分有選擇性的數(shù)據(jù)而產(chǎn)生的數(shù)據(jù)匯總或數(shù)據(jù)分析的結(jié)果表格。企業(yè)日常管理中會(huì)定期編制各類報(bào)表,報(bào)表綜合反映了企業(yè)的經(jīng)營(yíng)狀況。Access報(bào)表可利用設(shè)計(jì)視圖創(chuàng)建。報(bào)表分為五部分:報(bào)表頁(yè)眉、頁(yè)面頁(yè)眉、主體、頁(yè)面頁(yè)腳、報(bào)表頁(yè)腳。與窗體設(shè)計(jì)類似,可在報(bào)表設(shè)計(jì)模式中添加各類組件來(lái)滿足具體需求。
本系統(tǒng)的“質(zhì)量檢驗(yàn)”部分需生成檢驗(yàn)報(bào)告。在“報(bào)告生成”界面中有“預(yù)覽”和“打印”按鈕,錄入全部信息后,點(diǎn)擊“打印”按鈕,就以圖片或PDF文件格式輸出檢驗(yàn)報(bào)告報(bào)表。檢驗(yàn)報(bào)告報(bào)表由零件圖、數(shù)據(jù)、材質(zhì)報(bào)告三部分組成。圖7為報(bào)表“數(shù)據(jù)”部分的設(shè)計(jì)視圖,頁(yè)面頁(yè)眉顯示零件的基本信息以及各檢驗(yàn)項(xiàng)目;頁(yè)面頁(yè)眉顯示檢驗(yàn)員、檢驗(yàn)日期等信息;主體部分顯示具體的檢驗(yàn)數(shù)據(jù),“Item1頁(yè)眉/頁(yè)腳”屬于組頁(yè)眉/組頁(yè)腳,用于對(duì)主體中的控件進(jìn)行分組顯示。
3.7 模塊
想要進(jìn)一步實(shí)現(xiàn)Access的復(fù)雜管理功能,沒(méi)有VBA模塊是不行的。簡(jiǎn)單的說(shuō),模塊就是按設(shè)計(jì)者的要求執(zhí)行任務(wù)的程序的組合,它是整個(gè)數(shù)據(jù)庫(kù)的公共代碼區(qū)。我們可以在模塊中定義全局變量、全局常量、數(shù)據(jù)類型以及公共函數(shù)和過(guò)程等等。作為Access對(duì)象之一,它能起到宏所起不到的作用。
本系統(tǒng)需要用到模塊的地方主要是“質(zhì)量檢驗(yàn)”這部分,例如:錄入圖紙信息時(shí)需添加零件圖,為了獲得零件圖的原始文件名以確定圖片格式類型,需要定義GetF函數(shù)[6],具體VBA代碼如下(其中,參數(shù)GetType為查找類型,當(dāng)其為True表示文件,F(xiàn)ales表示文件夾):
Function GetF(GetType As Boolean) As String
Dim fd As FileDialog
Dim p As String
p=""
If GetType=True Then
Set fd=Application.FileDialog(msoFileDialogFilePicker)
Else
Set fd=Application.FileDialog(msoFileDialogFolderPicker)
End If
With fd
.AllowMultiSelect=True
.Show
End With
If fd.SelectedItems.Count>0 Then
p=fd.SelectedItems(1)
End If
Set fd=Nothing
GetF=p
End Function
3.8 功能擴(kuò)展
3.8.1 拆分?jǐn)?shù)據(jù)庫(kù)
Access軟件開(kāi)發(fā)完成后要供多人使用,共享信息,本系統(tǒng)通過(guò)mdb鏈接mdb的方式實(shí)現(xiàn)數(shù)據(jù)局域網(wǎng)共享。首先要對(duì)mdb文件進(jìn)行拆分,打開(kāi)“產(chǎn)品實(shí)時(shí)庫(kù)存及質(zhì)量檢驗(yàn)管理系統(tǒng).mdb”文件,在“工具-數(shù)據(jù)庫(kù)實(shí)用工具-拆分?jǐn)?shù)據(jù)庫(kù)”中根據(jù)向?qū)崾緦⒃瓟?shù)據(jù)庫(kù)拆分成一個(gè)前臺(tái)程序庫(kù)和一個(gè)后臺(tái)數(shù)據(jù)庫(kù)。拆分后,后臺(tái)數(shù)據(jù)庫(kù)只保留表對(duì)象,而前臺(tái)程序庫(kù)保留其他6個(gè)對(duì)象。拆分?jǐn)?shù)據(jù)庫(kù)有如下優(yōu)點(diǎn):
⑴ 便于數(shù)據(jù)備份,拆分后的數(shù)據(jù)庫(kù)只需備份后臺(tái)數(shù)據(jù)庫(kù);
⑵ 便于升級(jí)與維護(hù),當(dāng)對(duì)主程序進(jìn)行升級(jí)改動(dòng)時(shí),只需替換前臺(tái)程序庫(kù)即可。
3.8.2 局域網(wǎng)運(yùn)行
利用企業(yè)已建立好的局域網(wǎng),將后臺(tái)數(shù)據(jù)庫(kù)拷貝至服務(wù)器電腦的共享文件夾中,并允許局域網(wǎng)中其他機(jī)器更新后臺(tái)數(shù)據(jù)庫(kù)的數(shù)據(jù),然后分發(fā)前臺(tái)程序庫(kù)至各客戶端電腦,打開(kāi)前臺(tái)mdb文件創(chuàng)建鏈接表來(lái)鏈接后臺(tái)表,這樣我們就可以實(shí)現(xiàn)前臺(tái)與后臺(tái)數(shù)據(jù)庫(kù)的鏈接,員工在客戶端電腦上就能對(duì)服務(wù)器上的后臺(tái)數(shù)據(jù)庫(kù)進(jìn)行查看或更新。
在企業(yè)局域網(wǎng)中配置Access數(shù)據(jù)庫(kù)可以讓員工在需要查詢時(shí)只要登錄其電腦上數(shù)據(jù)庫(kù)系統(tǒng)就可得到答案,從而使工作流程簡(jiǎn)化,讓員工有更多的時(shí)間做好自己分內(nèi)的事情。同時(shí),數(shù)據(jù)庫(kù)系統(tǒng)也能促進(jìn)各個(gè)部門之間的溝通,讓企業(yè)上層更迅速準(zhǔn)確地掌握信息,方便其管理與決策。
4 結(jié)束語(yǔ)
本數(shù)據(jù)庫(kù)系統(tǒng)自在上海浦東新星機(jī)械廠投入使用數(shù)月以來(lái),目前已達(dá)到理想的運(yùn)行狀態(tài)。經(jīng)實(shí)踐檢驗(yàn),本系統(tǒng)的引入取代了該企業(yè)舊的臺(tái)賬管理模式,使員工對(duì)倉(cāng)儲(chǔ)情況一目了然,讓財(cái)務(wù)部門、銷售部門和倉(cāng)庫(kù)的信息傳遞更為便捷,亦提高了檢測(cè)人員的工作效率。
Access作為一種數(shù)據(jù)庫(kù)設(shè)計(jì)開(kāi)發(fā)方案,對(duì)于愛(ài)好管理系統(tǒng)開(kāi)發(fā),而囿于大量復(fù)雜難懂的編程語(yǔ)言的初學(xué)者來(lái)說(shuō)非常易于上手。如能有針對(duì)性地使用Access數(shù)據(jù)庫(kù),可為中小企業(yè)的管理錦上添花。本文的Access數(shù)據(jù)庫(kù)開(kāi)發(fā)實(shí)例可作為類似工作的參考。
參考文獻(xiàn):
[1] 薛冰冰,俞衛(wèi)華,王彥芳.ACCESS技術(shù)在水電管理系統(tǒng)中應(yīng)用[J].計(jì)
算機(jī)時(shí)代,2011:53-55
[2] 周健煖.基于ACCESS開(kāi)發(fā)的醫(yī)療設(shè)備管理系統(tǒng)[J].醫(yī)院數(shù)字化,
2011.26(11):38-41
[3] 楊得亮,崔松濤.基于VB與ACCESS數(shù)據(jù)庫(kù)的電纜快速設(shè)計(jì)系統(tǒng)[J].
計(jì)算機(jī)工程與設(shè)計(jì),2011.32(12):4282-4285
[4] 朱翠娥,曹彩鳳,劉興林.Access數(shù)據(jù)庫(kù)應(yīng)用教程[M].機(jī)械工業(yè)出版
社,2011.
[5] 張強(qiáng).巧學(xué)巧用Access 2003數(shù)據(jù)庫(kù)應(yīng)用開(kāi)發(fā)實(shí)例[M].電子工業(yè)出版
社,2007.
[6] 胡西川.Visual Basic程序設(shè)計(jì)[M].清華大學(xué)出版社,2010.