劉常玲
一、使用Access 2007數(shù)據(jù)庫管理林業(yè)檔案的意義
林業(yè)檔案形成于營(yíng)造林生產(chǎn)活動(dòng)中,包括立項(xiàng)、審批、可研報(bào)告、規(guī)劃設(shè)計(jì)、投資計(jì)劃、工程施工、檢查驗(yàn)收、設(shè)計(jì)圖紙、報(bào)表等各階段歸檔材料,具有專業(yè)性、系統(tǒng)性、階段性的特點(diǎn)。目前廣泛使用的檔案管理軟件多為通用性管理系統(tǒng),功能強(qiáng)大、操作復(fù)雜、行業(yè)針對(duì)性不強(qiáng),后期維護(hù)需專門的技術(shù)人員。利用Access2007數(shù)據(jù)庫創(chuàng)建林業(yè)檔案管理系統(tǒng),能很好地解決以上問題;Access數(shù)據(jù)庫具有簡(jiǎn)單易學(xué)、易于掌握、維護(hù)便利等特點(diǎn),可滿足林業(yè)檔案數(shù)據(jù)管理的需要。
二、林業(yè)檔案數(shù)據(jù)庫功能模塊設(shè)計(jì)
根據(jù)林業(yè)檔案管理的需要,設(shè)計(jì)“檔案管理”“ 檔案導(dǎo)入”“檔案利用”“系統(tǒng)設(shè)置”四大模塊(表1)。
檔案管理模塊包括“收文管理”“發(fā)文管理”“導(dǎo)入資料管理”“錄入資料管理”“資料的錄入、修改、刪除”等功能。
檔案導(dǎo)入模塊包括“資料導(dǎo)入臨時(shí)庫”“臨時(shí)庫資料修改、刪除”“臨時(shí)庫資料的歸檔管理”等功能。
檔案利用模塊包括“檔案借閱管理”“檔案查詢”“檔案目錄打印”等功能。
系統(tǒng)設(shè)模塊包括“全宗設(shè)置”“機(jī)構(gòu)代碼設(shè)置”“保管期限設(shè)置”“密級(jí)設(shè)置”“登陸密碼設(shè)置”等功能。
由于篇幅所限,本文僅針對(duì)林業(yè)檔案數(shù)據(jù)庫結(jié)構(gòu)、檔案錄入、檔案查詢、主控面板窗體的設(shè)計(jì)思路和方法做簡(jiǎn)要闡述。
三、林業(yè)檔案數(shù)據(jù)庫設(shè)計(jì)
打開Access 2007,選擇“空白數(shù)據(jù)庫”,輸入文件名“林業(yè)檔案管理”和保存路徑,最后單擊“創(chuàng)建”按鈕,數(shù)據(jù)庫就建好了。
1.數(shù)據(jù)表設(shè)計(jì)
通過功能區(qū)的“創(chuàng)建”→“ 表設(shè)計(jì)”→“表設(shè)計(jì)器”創(chuàng)建以下數(shù)據(jù)表,文書類包括“文書表”、“ 收發(fā)文表”、“類別表”,工程、科技類包括“項(xiàng)目表”“案卷表”、“卷內(nèi)表,會(huì)計(jì)類包括“會(huì)計(jì)表,實(shí)物類包括“實(shí)物表”。其它包括“附件表”“借閱表”“全宗表”“機(jī)構(gòu)表”“期限表”“密級(jí)表”“用戶密碼表”和“臨時(shí)文件表”。其中“附件表”存貯電子文件存放路徑和文件名,“借閱表”存放借閱人信息,并為各表間創(chuàng)建關(guān)系如圖(表2)。
2.林業(yè)檔案錄入設(shè)計(jì)
以文書檔案錄入為例,導(dǎo)航窗格設(shè)為表并選中“文書表”,選擇功能區(qū)→創(chuàng)建→窗體,ACCESS2007會(huì)自動(dòng)生成“文書表”的錄入窗體,打開窗體設(shè)計(jì)視圖對(duì)窗體布局、控件名稱和大小進(jìn)行調(diào)整,在窗體底部加入“第一項(xiàng)記錄”“前一項(xiàng)記錄”“下一項(xiàng)記錄”“最后一項(xiàng)記錄”“添加記錄”“冊(cè)除記錄”等操作按扭,最后保存為“文書表錄入窗體”。
(1)自動(dòng)錄入功能的實(shí)現(xiàn)
在“文書表錄入窗體”中,為實(shí)現(xiàn)資料錄入規(guī)范化,可以把一些特殊字段設(shè)置為自動(dòng)錄入。
設(shè)計(jì)思路:組合框的行來源類型分為三種:表/查詢;值列表;字段列表?!氨?查詢”是組合框的列表來源于表或者查詢中的記錄,用于顯示較多的列。值列表用于內(nèi)容固定的場(chǎng)合,比如輸入“男/女”、“是/否”等;充分利用組合框的表/查詢、值列表,可以減少用戶輸入數(shù)據(jù)的操作,直接用鼠標(biāo)選取數(shù)據(jù)而不需要手工輸入,簡(jiǎn)化了操作程序,提高輸入效率。
方法:首先把“文書表錄入窗體”中的“全宗號(hào)”“期限”“機(jī)構(gòu)”“密級(jí)”“類別”“是否歸檔”“是否借閱”等文本框更改為組合,然后依次加入選擇列表項(xiàng);以“機(jī)構(gòu)”文本框?yàn)槔?,選中“機(jī)構(gòu)”文本框→鼠標(biāo)右鍵→更改為→組合框,然后選中“機(jī)構(gòu)”組合框→鼠標(biāo)右鍵→屬性→數(shù)據(jù),把“行來源類型”改為“表/查詢”,“行來源”打開查詢?cè)O(shè)計(jì)器,添加“機(jī)構(gòu)表”,在“字段”中加入“機(jī)構(gòu)ID”和“機(jī)構(gòu)”,這樣就完成自動(dòng)錄入功能的設(shè)置;“全宗號(hào)”“期限”“密級(jí)”“是否歸檔”“是否借閱”“類別”文本框也做相應(yīng)設(shè)置;把“是否歸檔”和“是否借閱”“類別”的“行來源類型”改為值列表,“是否歸檔”和“是否借閱”的“行來源”中加入“YES;NO”,“類別”的“行來源”中加入“歸檔;收文;發(fā)文”;如圖(表3)所示,點(diǎn)擊“機(jī)構(gòu)”右側(cè)下箭頭便可打開下拉列表進(jìn)行選擇。
(2)檔號(hào)自動(dòng)生成功能的實(shí)現(xiàn)
林業(yè)檔案的“檔號(hào)”一般由“全宗號(hào)-保管期限-歸檔年度-機(jī)構(gòu)-件號(hào)”組成,“檔號(hào)”是檔案資料的唯一標(biāo)識(shí),錄入錯(cuò)誤會(huì)造成檔案資料無法操作;為規(guī)范檔號(hào)的錄入,簡(jiǎn)化操作程序,提高錄入效率,在“文書表錄入窗體”中對(duì)“檔號(hào)”進(jìn)行自動(dòng)生成設(shè)置。
設(shè)計(jì)思路是:把“檔號(hào)”和“全宗號(hào)”“期限”“歸檔年度”“機(jī)構(gòu)”“件號(hào)”建立關(guān)聯(lián),當(dāng)“全宗號(hào)”“期限”“歸檔年度”“機(jī)構(gòu)”“件號(hào)”中的內(nèi)容發(fā)生改變后,檔號(hào)也會(huì)同步進(jìn)行修改,從而實(shí)現(xiàn)“檔號(hào)”的自動(dòng)生成功能。
方法:打開“文書表錄入窗體”的設(shè)計(jì)視圖→“全宗號(hào)”組合框→屬性→事件→更新后→代碼生成器,在代碼中加入“Me.檔號(hào) = Me.全宗號(hào) + "-" + Me.保管期限 + "-" + Me.歸檔年度+ "-" +Me.機(jī)構(gòu)+ "-" + Me.件號(hào)”這樣一段代碼,然后依次對(duì)“期限”“歸檔年度”“機(jī)構(gòu)”組合框,“件號(hào)”文本框也做相同設(shè)置。
3.林業(yè)檔案查詢?cè)O(shè)計(jì)
以文書檔案查詢?yōu)槔?,功能區(qū)選擇創(chuàng)建→查詢向?qū)А陆ú樵儭?jiǎn)單查詢向?qū)А_定,在“簡(jiǎn)單查詢向?qū)А泵姘逯幸来芜x擇“文書表”“全宗表”“機(jī)構(gòu)表”“期限表”“密級(jí)表”,把各表中需要的字段依次添加到右側(cè),點(diǎn)擊“下一步”,選中明細(xì)(顯示記錄的每個(gè)字段),點(diǎn)擊“下一步,輸入查詢名稱“文書表查詢”,保存查詢。
(1)為查詢添加條件
打開“文書表查詢”設(shè)計(jì)視圖,在條件欄添加查詢條件,對(duì)查詢記錄進(jìn)行篩選;例如查找2001至2008年度之間的所有歸檔記錄,可在“歸檔年度”的條件欄添加Between "2001" And "2008",在“類別”的條件欄添加“歸檔”;要查找“機(jī)構(gòu)”為辦公室的所有記錄,在“機(jī)構(gòu)”條件欄添加“辦公室”;要篩選出“文號(hào)”中包含“冀林沙字”的全部記錄,在“文號(hào)”欄添加Like "*冀林沙字*"。
(2)多條件組合查詢?cè)O(shè)計(jì)
設(shè)計(jì)思路是:創(chuàng)建一個(gè)名稱為“組合查詢窗體”的窗體,把“文書表查詢”做為“組合查詢窗體”的數(shù)據(jù)源,把“組合查詢窗體”中錄入的查詢條件做為“文書表查詢”的條件,單擊“組合查詢窗體”中的“查詢”按鈕,“文書表查詢”會(huì)根據(jù)“組合查詢窗體”中輸入的查詢條件進(jìn)行篩選,并把結(jié)果顯示在“組合查詢窗體”的數(shù)據(jù)區(qū)內(nèi),從而實(shí)現(xiàn)多條件組合查詢;當(dāng)單擊“組合查詢窗體”中的“全部”按鈕,則清空“組合查詢窗體”的查詢條件并顯示全部記錄。
方法:以“文書表查詢”為例,選中導(dǎo)航窗格→查詢→“文書表查詢”,選擇功能區(qū)的創(chuàng)建“分割窗體”,創(chuàng)建一個(gè)上部為記錄明細(xì),下部為記錄列表的分割窗體,并命名為“組合查詢窗體”,保存查詢。打開“組合查詢窗體”的設(shè)計(jì)視圖,在窗體最上部添加“起始年度”“終止年度”“組合機(jī)構(gòu)”“組合期限”組合框,添加“文本題名”“文本文號(hào)”文本框,添加“查詢”“全部”按扭。
在“起始年度”“終止年度”組合框的屬性→數(shù)據(jù)→行來源中添加“SELECT 歸檔年度 FROM 文書表 GROUP BY 歸檔年度 ORDER BY 歸檔年度;”語句;“組合機(jī)構(gòu)”“組合期限”組合框的設(shè)置同上文“自動(dòng)錄入”;在“查詢”按鈕的屬性→事件→單擊→宏生成器→添加宏“Requery”;在“全部”按鈕的屬性→事件→單擊→代碼生成器→添加代碼“Me.組合年起 = Null”回車“Me.組合年止 = Null”回車“Me.組合機(jī)構(gòu) = Null”回車“Me.組合期限 = Null”回車“Me.文本題名 = Null”回車“Me.文本文號(hào) = Null”回車“Me.requery”。
打開導(dǎo)航窗格→查詢→“文書表查詢”的設(shè)計(jì)視圖,在“歸檔年度”的條件中添加“Between IIf(IsNull([Forms]![組合查詢窗體]![起始年度]),'1000',[Forms]![組合查詢窗體]![起始年度]) And IIf(IsNull([Forms]![組合查詢窗體]![終止年度]),'5000',[Forms]![組合查詢窗體]![終止年度])”;在“機(jī)構(gòu)”的條件中添加“Like IIf(IsNull([Forms]![組合查詢窗體]![組合機(jī)構(gòu)]),'*',[Forms]![組合查詢窗體]![組合機(jī)構(gòu)])”;在“期限”的條件中添加“Like IIf(IsNull([Forms]![組合查詢窗體]![組合期限]),'*',[Forms]![組合查詢窗體]![組合期限])”;在“題名”的條件中添加“Like IIf(IsNull([Forms]![組合查詢窗體]![文本題名]),'*','*' & [Forms]![組合查詢窗體]![文本題名] & '*')”;在“文號(hào)”的條件中添加“Like IIf(IsNull([Forms]![組合查詢窗體]![文本文號(hào)]),'*','*' & [Forms]![組合查詢窗體]![文本文號(hào)] & '*')”。
四、主控面板的設(shè)計(jì)
為了把各功能模塊集中在一個(gè)窗體中進(jìn)行操作,創(chuàng)建主控面板窗體,實(shí)現(xiàn)功能的高度整合。
設(shè)計(jì)思路:創(chuàng)建多個(gè)窗體,然后為每個(gè)窗體添加多個(gè)命令按鈕用于打開不同的功能,再創(chuàng)建一個(gè)名為“主控面板窗體”的窗體并在窗體中加入一個(gè)子窗體,在“主控面板窗體”中添加命令按鈕,通過“SourceObject”代碼來更換不同的子窗體,從而實(shí)現(xiàn)各功能模塊間的切換,打開不同的功能操作。
方法:創(chuàng)建“檔案管理窗體”“檔案導(dǎo)入窗體”“檔案利用窗體”“檔案設(shè)置窗體”“子窗體”和“主控面板窗體”。在“檔案管理窗體”中加入“收文管理”、“發(fā)文管理”“導(dǎo)入管理”“檔案錄入”“記錄刪除、修改”等按鈕,為每個(gè)按鈕的事件中添加“宏”,如“OpenForm”打開窗體、“OpenQuery”打開查詢或“OpenReport”打開報(bào)表。在“檔案導(dǎo)入窗體”“檔案利用窗體”“檔案設(shè)置窗體”中添加相應(yīng)的按鈕,并為每個(gè)按鈕的事件中添加相應(yīng)的“宏”操作。
打開“主控面板”窗體的設(shè)計(jì)視圖,在窗體頁眉中添加標(biāo)簽并把標(biāo)題改為“林業(yè)檔案管理系統(tǒng)”(如表4), 在窗體數(shù)據(jù)區(qū)左側(cè)添加五個(gè)命令按鈕,標(biāo)題分別改為“檔案管理”“檔案導(dǎo)入”“檔案利用”“檔案設(shè)置”“ 退出系統(tǒng)”,在窗體數(shù)據(jù)區(qū)右側(cè)加入名為“子窗體”的子窗體;在檔案管理”按鈕的單擊事件代碼中加入“Me.子窗體.SourceObject = "檔案管理窗體"”,在“檔案導(dǎo)入”按鈕的單擊事件代碼中加入“Me.子窗體.SourceObject = "檔案導(dǎo)入窗體"”,在“檔案利用”按鈕的單擊事件代碼中加入“Me.子窗體.SourceObject = "檔案利用窗體"”,在“檔案設(shè)置”按鈕的單擊事件代碼中加入“Me.子窗體.SourceObject = "檔案設(shè)置窗體"”,在“退出系統(tǒng)”按鈕的單擊事件代碼中加入宏“Quit”。
結(jié)束語:access2007功能強(qiáng)大,可以創(chuàng)建完善的“林業(yè)檔案管理系統(tǒng)”,利用內(nèi)部的“表”“查詢”“窗體”“報(bào)表”“頁”“宏”等功能就可以輕松實(shí)現(xiàn)檔案管理的基本操作,利用簡(jiǎn)短的幾行VBA代碼就可以實(shí)現(xiàn)專業(yè)檔案軟件的復(fù)雜功能,Access2007作為Office2007的成員之一,日常維護(hù)簡(jiǎn)單便利,與WORD和EXCEL高度兼容,便于檔案資料的導(dǎo)入導(dǎo)出,還可以與OA辦公平臺(tái)建立連接,實(shí)現(xiàn)檔案信息化管理,大大提高工作效率。
(作者單位:河北省林業(yè)科學(xué)研究院 )