人事檔案管理系統(VC中基于MFC和ADO)(含源文件).doc_第1頁
人事檔案管理系統(VC中基于MFC和ADO)(含源文件).doc_第2頁
人事檔案管理系統(VC中基于MFC和ADO)(含源文件).doc_第3頁
人事檔案管理系統(VC中基于MFC和ADO)(含源文件).doc_第4頁
人事檔案管理系統(VC中基于MFC和ADO)(含源文件).doc_第5頁
已閱讀5頁,還剩36頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

人事檔案管理系統的設計與實現摘 要:企業管理信息化是現代企業發展的關鍵技術之一,人力資源管理是企業競爭戰略中的一個重要部分, 在人力資源管理的過程中,人事檔案管理是人事信息管理系統中的重要部分。本文利用VC+作為開發工具,以Access為后臺數據庫,設計、開發了一個人事檔案管理系統。本系統能夠實現人事檔案信息的編輯錄入、查詢、統計等功能,為企業實現其經營目標提供了重要保證,對增強其企業競爭力,提高經濟效益起著一定的作用。本系統也對其它公司的人事檔案管理方面具有借鑒作用。關鍵詞: 人事檔案管理系統;數據庫;設計與開發;VC+目 錄1引言32系統采用的相關技術簡介42.1 VC+技術(主要MFC方式)42.2 Access數據庫52.3 ADO數據庫開發技術52.3.1 引入ADO庫52.3.2 ADO與數據庫的連接62.4系統運行環境支持63需求分析73.1員工檔案信息管理流程圖73.2數據字典84概要設計94.1 系統層次模塊104.2人事檔案模塊圖104.3其它模塊圖115數據庫設計115.1E-R圖115.2邏輯結構設計126詳細設計166.1主控平臺的實現166.2 管理員登陸模塊設計186.3 人事檔案管理子模塊設計216.3.1人事檔案錄入與編輯子模塊的實現216.3.2人事檔案統計模塊的實現246.3.3人事檔案查詢模塊的實現317 調試分析中遇到的問題是348 用戶使用說明35結束語38參考文獻391引言1.1設計背景XXX公司目前使用的檔案系統為手工檔案系統,手工檔案系統易出錯、修改更新程序煩瑣、瀏覽不方便、保密性安全性不夠高、效率低、時效性差、不能及時為決策者提供管理所需的信息,還易造成資源浪費,對財務、人事部門的工作困難加大、易混亂,無法進行統一現代化的科學高效管理。對于一個志力于集團化、多元化的遠景發展戰略的企業,標準、規范化管理是基本的要求,而一個集檔案、基礎數據管理為一體的管理系統的開發已迫在眉睫,以實現企業管理的數字化、信息化,提高人事資源管理的效率,為實施企業科學化、正規化管理的提供強有力的硬件支持,提高企業要市場的競爭能力。1.2國內人事檔案管理系統研究現狀目前,國內人事檔案管理信息系統的開發技術基本成熟,主要原因在于人事檔案管理系統本身具有業務清晰、數據處理規范等許多優點,為其實現計算機信息化提供了必要的優越條件。國內近90%以上的應用計算機及開發管理信息系統的公司和單位均開發并運行了人事檔案管理信息系統,人事檔案管理信息系統的開發與應用在國內已經進入了相對成熟期;國內市場上的人事檔案管理系統主要有:信創、銳達、八百客、嘉揚Kayang等人事檔案管理系統。信創通用人事管理系統, 功能多、操作方便、通用性強,缺點是不夠專業;銳達、八百客、嘉揚Kayang人事管理系統專業程度高、功能完備,缺點是操作繁瑣復雜、且價格高。1.3設計、開發的目的和意義針對XXX公司目前的情況以及國內外企業人事管理系統發展現狀,決定設計設計一個針對本公司的,專業、實用性強、操作簡便的企業人事檔案信息管理系統,該系統為企業提供全面的人事檔案管理解決方案提供一個以人為中心,各類人員之間、員工與公司之間的互動式人力資源管理平臺。具體目標如下:1.提高企業人事檔案管理的效率,節約相關的管理成本,增強人事檔案管理的安全性。2.為企業建立規劃化、人性化、實時互動化人事檔案管理機制。3.滿足企業戰略層、管理層、人事業務操作層和企業全體員工的不同層次和不同方面的需要。4.為企業將來的整體信息化建設提供必要的支持。開發的系統將改變過去傳統的人事檔案保管室式的人事管理,使用計算機對人事勞資信息進行管理,具有檢索迅速,查找方便,可靠性高,存儲量大,保密性好成本低等優點,能夠極大地提高人事資源管理的效率,也是企業科學化、正規化管理的重要條件。為實施企業集團化、多元化的遠景發展戰略提供有力保障。2系統采用的相關技術簡介2.1 VC+技術(主要MFC方式)VC+是微軟公司開發Windows平臺上的一個C+編程環境,VC基于C,C+語言,主要由是MFC組成,是與系統聯系非常緊密的編程工具,它兼有高級,和低級語言的雙重性,功能強大,靈活,執行效率高,幾乎可說VC在 Windows平臺無所不能。 VC+應用程序的開發主要有兩種模式,一種是WIN API方式,另一種則是MFC方式,傳統的WIN API開發方式比較繁瑣,而MFC則是對WIN API再次封裝,所以MFC相對于WIN API開發更具備效率優勢。VC適用范圍 1、 VC主要是針對Windows系統,適合一些系統級的開發,可以方便實現一些底層的調用。在VC里邊嵌入匯編語言很簡單。 2、 VC主要用在驅動程序開發 3、 VC執行效率高,當對系統性能要求很高的時候,可用VC開發。 4、 VC主要適用于游戲開發5、 VC多用于單片機,工業控制等軟件開發,如直接對I/O地址操作,就要用C+。 6、 VC適用開發高效,短小,輕量級的COM組件,DLL。比如WEB上的控件。 7、 VC可以開發優秀的基于通信的程序。 8、 VC可以開發高效靈活的文件操作程序。 9、 VC可以開發靈活高效的數據庫操作程序。 10、VC在多線程、網絡通信、分布應用方面,VC+有不可比擬的優勢。本系統選用目前業界成熟,安全,穩定,流行的VC+作為技術支撐,克服VF安全性不夠高,其它技術相對不太完善和成熟的缺點,在公司運作中,人事信息復雜多變要求系統的穩定性高, 而這更體現出其優越性。2.2 Access數據庫Microsoft Office Access(前名 Microsoft Access)是由微軟發布的關聯式數據庫管理系統。微軟公司推出的Access是基于Windows的桌面關系數據庫管理系統(RDBMS,即Relational Database Management System),是Office系列應用軟件之一。它提供了表、查詢、窗體、報表、頁、宏、模塊7種用來建立數據庫系統的對象;提供了多種向導、生成器、模板,把數據存儲、數據查詢、界面設計、報表生成等操作規范化;為建立功能完善的數據庫管理系統提供了方便,也使得普通管理員不必編寫代碼,就可以完成大部分數據管理的任務。Access能夠存取 Access/Jet、Microsoft SQL Server、Oracle(甲骨文軟件公司),或者任何 ODBC 兼容數據庫內的資料。熟練的軟件設計師和資料分析師利用它來開發應用軟件,而一些不熟練的程序員和非程序員的進階用戶則能使用它來開發簡單的應用軟件。2.3 ADO數據庫開發技術 ADO(ActiveX Data Object) 是Microsoft 的數據庫應用程序開發的新接口,是建立在OLE DB 之上的高級數據庫訪問技術。ADO技術基于COM,具有 COM組件的諸多優點,可以用來構造可復用應用框架,被多種語言支持,能夠訪問關系數據庫、非關系數據庫以及所有的文件系統。另外,ADO還支持各種客戶/ 服務器模式與基于Web 的數據操作,具有遠程數據服務RDS(Remote Data Service)的特性,是遠程數據存取的發展方向。2.3.1 引入ADO庫 在Visual C+中,使用 ADO開發數據庫之前需要引入ADO庫。可以在 StdAfx.h 文件末尾處引入ADO庫文件,方法如下。 #import c:Program Filescommon filessystemadomsado15.dll no_namespace rename(EOF,adoEOF); rename(BOF,adoBOF); 使用預處理指令 import 使程序在編譯過程中引入ADO 動態庫(msado15.dll) 。no_namespace 表明不使用命令空間。rename(EOF, adoEOF)表明把ADO中用到的EOF改名為adoEOF,防止產生命名沖突。利用應用程序向導進行ADO數據庫開發的時候,需要在程序向導的第二步,選擇Automation 選項,使應用程序能夠支持自動化。2.3.2 ADO與數據庫的連接ADO Data控件屬性Connection String的屬性值設置為:Provider= Microsoft.Jet.OLEDB.4.0; Data Source=D:VC+RSDAGLDB.mdb(注意:此路徑為數據庫文件所放置的路徑,也行時注意修改后再運行系統);Persist Security Info=False;這些控件屬性設置好后,在運行人事檔案管理系統時就可以直接調用數據庫表,來實現員工信息的錄入、修改、查詢、統計操作。2.4系統運行環境支持硬件環境:處理器Inter Pentium 4 以上,內存1G,硬盤160G,顯卡SVGA顯示適配器。 操作系統:Windows2000/xp,數據庫Microsoft Office Access3需求分析通過對XXX公司業務流程調查分析得出:1.新員工進入,由店長批準的“調入人員通知”連同“職工登記卡”由調入人員一起交給了人事科,人事科將“職工登記卡”的信息登記入“職工檔案”,其數據項目有:職工代碼,性別,出生年月,政治面貌,職務,職稱,最高學歷,固定工資,入職日期,所在部門“調入人員通知”存檔,為統計調入人員所用。2.由店長批準的“人員信息變更通知”交人事科,人事科據此將其在“職工檔案”中的信息進行修改3.由店長批準的“職工工資變動通知”交人事科,人事科據此修改“職工檔案”中的職工固定工資數據。4.本公司職工憑各大專院校頒發的“學歷證明”交人事科,人事科經查驗屬實后,據此修改“職工檔案”中的最高學歷數據。5.隨時都有本公司各級管理人員來人事科查看職工檔案,離退休人員檔案,調出人員檔案信息。6.年末,人事科需編制“職工統計表”,“職工文化程度統計表”,“職工工資級別統計表”交給店長。3.1員工檔案信息管理流程圖員工檔案信息錄入人事檔案管理形成人事檔案數據庫基礎數據錄入基礎數據管理形成基礎數據庫統 計報表 圖1 員工檔案信息的錄入和統計、報表流程圖檔案查詢P2人 事科建立檔案P1人 事科D1員工檔案檔案統計表P3人 事科員工培訓記錄P4培訓科圖2 員工檔案的建立和修改流程圖3.2數據字典數據字典是對數據流程圖中所有名字的定義及描述,并按特定格式予以記錄,以備隨時查詢和修改。1.數據存儲字典:管理員信息=管理員名+口令部門編碼表 (bm_bm) =部門編碼部門名文化程度編碼表 (bm_wh) =文化程度編碼+文化程度名稱職稱編碼表(bm_zc) =職稱編碼職稱名稱主要成員與社會關系表(cygx)=職工編碼+與本人關系+姓名+從事何種工作檔案登記表(m_dadj)=職工編碼+姓名+性別+民族+出生+年月+婚姻狀況+文化程編碼康狀況+政治面貌+職稱編碼+籍貫+身份證號碼+畢業學校+專業或特長+戶口所在地+戶口性質+現住址+職務+工種名+何時技術培訓+何時獎勵和處分+需要說明問題+填表人簽名+填表日期+公司審查意見+審查日期+人員性質+入廠時間+人員狀態+備注+部門編碼處理關系:P1,P2,P32.數據字典處理過程:(1)P1名稱:檔案信息的錄入與編輯 編號:P1輸入:檔案登記表 輸出:D1處理:以適當的方式輸入員工檔案中的數據項(2)P2名稱:檔案信息的查詢 編號:P2輸入:檔案登記表 輸出:人事科處理:以姓名、職工編碼的方式對員工檔案中的數據項進行查詢(3)P3名稱:檔案信息的統計 編號:P3輸入:檔案登記表 輸出:人事科處理:以文化程度、總人數、性別、部門編碼、職稱編碼的方式對員工檔案中的數據項進行統計(4)P4名稱:員工歷史記錄 編號:P4輸入:員工培訓情況 輸出:培訓處處理:以適當的方式輸出員工培訓情況4概要設計基于系統需求分析,該系統需要實現以下基本功能:l 管理員管理:管理系統操作人員,設置操作人員口令和權限。在滿足不同系統管理員的操作需求的基礎上,提高系統的安全性。l 基本數據管理:維護人事管理相關的一些基礎數據。主要包括以下功能:管理員信息,檔案登記表,職稱編碼表,部門編碼表,文化程度編碼表的設置。l 人事檔案管理:完成企業對員工檔案員工人工檔案(包括員工基本檔案和在職信息)的管理及相關操作。管理員進行員工檔案信息錄入及更改,其中包括職工編碼、姓名、性別、民族、出生、年月、婚姻狀況、文化程編碼康狀況、政治面貌、職稱編碼、籍貫、身份證號碼、畢業學校、專業或特長、戶口所在地、戶口性質、現住址、職務、工種名、何時技術培訓、何時獎勵和處分、需要說明問題、填表人簽名、填表日期、公司審查意見、審查日期、人員性質、入廠時間、人員狀態、備注、部門編碼。管理員可以通過該模塊為單位建立一個比較完整的人事檔案系統,同時可以對這些員工檔案信息進行新增、刪除、修改操作,同時可以進行瀏覽和查詢的操作。l 人事變動管理:對于人事上的變動調整進行管理,對人員檔案的信息進行更新(如:員工職務、員工職稱、員工性質等的變動)。l 數據庫管理:對現有的數據進行管理,包括數據備份和恢復,以方便管理員對數據庫的管理和維護工作,提高系統的數據安全性。4.1 系統層次模塊 該企業人事管理信息系統可分為五個模塊:權限驗證、管理員管理、基礎數據管理、人事檔案管理和數據庫管理,如圖421所示。權限驗證用戶管理基礎數據設置人事檔案管理數據庫管理人事檔案管理信息系統圖3 人事管理信息系統主模塊圖人事檔案錄入人事檔案修改人事檔案刪除人事檔案瀏覽人事檔案查詢人事檔案統計人事檔案管理4.2人事檔案模塊圖4.3其它模塊圖基礎數據包括: 管理員信息,檔案登記表,職稱編碼表,部門編碼表,文化程度編碼表的設置。基礎數據設置管理員信息檔案登記表文化程度編碼表職稱、部門編碼表圖 4 基礎數據設置模塊圖5數據庫設計5.1E-R圖本系統根據需求分析得出DFD畫出設計實體有:管理員實體、數據庫實體、基本用戶信息實體、個人檔案信息實體。實體間關系ER圖,如圖查詢錄入修改限公司 有記載存入管理員用戶信息管理員數據庫紙質個人檔案1111NN擁有修改限公司 有記載存入管理員用戶信息普通用戶數據庫紙質個人檔案1111NNNN圖5 E-R圖用戶用戶名密碼員工信息編號備注姓名年齡民族身份證號碼職稱職工類型部門地址電話圖6 屬性圖5.2邏輯結構設計 根據系統功能設計的要求以及功能模塊的劃分,對于本系統的數據庫,可以列出以下數據項和數據結構: 1名稱:主要成員與社會關系表 表名稱標識:cygx 數據來源:主要成員與社會關系設置模塊進行錄入表1主要成員與社會關系表序號字段名說明類型長度是否為空是否主鍵值相關表備注1zgbm職工編碼VC26Not nullKey&Foreign keym_dadj2Brgx與本人關系VC210null3xm姓名VC210Null4hzgz從事何種工作VC260Null6autoid主鍵VC22key2名稱:職稱編碼表 表名稱標識:bm_zc 數據來源:職稱編碼設置模塊進行錄入表2 職稱編碼表序號字段名說明類型長度是否為空是否鍵值相關表備注1zcbm職稱編碼NUMBER2Not nullKey2zcmc職稱名稱VC220Not null3名稱:部門編碼表 表名稱標識:bm_bm 數據來源:部門編碼設置模塊進行錄入表3 部門編碼表序號字段名說明類型長度是否為空是否鍵值相關表備注1bmbm部門編碼41123456789035678VC24Not nullKey2bmm部門名VC260Null4名稱:文化程度編碼表表名稱標識:bm_wh數據來源:文化程度編碼設置模塊進行錄入表4文化程度編碼表序號字段名說明類型長度是否為空是否鍵值相關表備注1whbm文化程度編碼NUMBER2Not nullKey2whcd文化程度名稱VC216Not null5名稱:檔案登記表表名稱標識:m_dadj數據來源:檔案登記表模塊進行錄入表5檔案登記表序號字段名說明類型長度是否為空是否主鍵 值相關表備注1zgbm職工編碼VC26Not nullkey2xm姓名VC212Not null3xb性別VC21null4mz民族VC218null5csny出生年月Date8null6hyzk婚姻狀況VC21null7whcd文化程度編碼NUMBER2nullbm_wh8jkzk健康狀況VC210null9zzmm政治面貌VC22null10zcbm職稱編碼NUMBER2nullbm_zc11jg籍貫VC260null12sfzh身份證號碼VC220null13byxx畢業學校VC240null14zytc專業或特長VC240null15hkszd戶口所在地VC260null16hkxz戶口性質VC220null17xzz現住址VC2100null18zw職務NUMBER2null19gzm工種名VC22null20jspx何時技術培訓VC2400null21jlcf何時獎勵和處分VC2400null22smwt需要說明問題VC2200null23tbrqm填表人簽名VC210null24tbrq填表日期datenull25gsyj公司審查意見VC2200null26scrq審查日期datenull27ryxz人員性質C1null28rcsj入廠時間date29ryzt人員狀態C1null30bz備注VC240null31bmbm部門編碼VC24nullbm_bm圖7 主鍵圖6詳細設計人事檔案管理系統的總體功能是能實現人事檔案信息的編輯錄入、查詢、統計等功能內容。具體的功能就是能進行代碼表及個人檔案信息的錄入與修改,同時能進行上一條及下一條檔案信息的顯示;能實現按姓名或職工號查詢個人檔案信息,按照檔案表的形式顯示;能實現按照文化程度、性別、職稱進行檔案簡單信息的列表顯示與統計相關人數。圖 8 主控平臺界面6.1主控平臺的實現1.主體框架:使用MFC AppWizard 創建一個單文檔結構的應用程序工程,建立起系統主體框架,生成應用程序類(CAdoApp)、文檔類(CAdoDoc)、視圖類(CAdoView)、主體框架類(CmainFram)。2.背景圖:通過修改系統對話框類Paint事件處理函數OnPaint()來實現加載背景圖,其具體代碼如下:void CAdoDlg:OnPaint() if (IsIconic()CPaintDC dc(this); / device context for paintingSendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);/ Center icon in client rectangleint cxIcon = GetSystemMetrics(SM_CXICON);int cyIcon = GetSystemMetrics(SM_CYICON);CRect rect;GetClientRect(&rect);int x = (rect.Width() - cxIcon + 1) / 2;int y = (rect.Height() - cyIcon + 1) / 2;/ Draw the icondc.DrawIcon(x, y, m_hIcon);elseCDialog:OnPaint();/ The system calls this to obtain the cursor to display while the user drags/ the minimized window.HCURSOR CAdoDlg:OnQueryDragIcon()return (HCURSOR) m_hIcon; 6.2 管理員登陸模塊設計 根據需求分析和總體設計,此模塊主要是根據管理員輸入管理員名和口令,驗證管理員身份并決定其操作權限。1.權限驗證IPO圖輸入:管理員名和口令處理:(1)管理員登陸對話框啟動。(2)管理員輸入管理員名和口令。(5)如果管理員名和密碼錯誤,進行提示。 圖 9 登陸界面圖3.權限驗證模塊的實現 根據權限驗證的IPO圖,通過定義CLoginDLg類來實現權限驗證模塊的功能,下面介紹CLoginDLg類的設計與實現。管理員權限驗證處理過程:從數據庫中查找是否與管理員輸入的管理員名和口令完全匹配的記錄,如果有同根據數據庫中的記錄為該管理員分配權限,如果不存在則提示登錄錯誤信息。主要代碼:void CAdoDlg:OnOK() / TODO: Add extra validation here/(CEdit*)GetDlgItem(IDC_PassWord)-SetWindowText(123456);/調試用UpdateData(TRUE);/管理員名是否為空判斷m_User.TrimLeft();m_User.TrimRight();if(m_User.GetLength()SetFocus();return;if(m_User.Compare(1)!=0)AfxMessageBox(管理員名不正確,請重新輸入!初始名為:user,MB_ICONEXCLAMATION ) ;(CEdit*)GetDlgItem(IDC_PassWord)-SetWindowText();(CEdit*)GetDlgItem(IDC_PassWord)-SetFocus();return;else/用密碼是否為空判斷m_PassWord.TrimLeft();m_PassWord.TrimRight();if(m_PassWord.GetLength()SetFocus();return;/密碼判斷if(m_PassWord.Compare(1)!=0)AfxMessageBox(管理員密碼不正確,請重新輸入!初始密碼為:123456,MB_ICONEXCLAMATION ) ;(CEdit*)GetDlgItem(IDC_PassWord)-SetWindowText();(CEdit*)GetDlgItem(IDC_PassWord)-SetFocus();else/密碼通過調用主界面m_ZhuJieMian.DoModal(); Invalidate();return; 6.3 人事檔案管理子模塊設計根據需求分析和總體設計,人事檔案管理系統的總體功能是能實現人事檔案信息的編輯錄入、查詢、統計等功能內容。具體的功能就是能進行代碼表及個人檔案信息的錄入與修改,同時能進行上一條及下一條檔案信息的顯示;能實現按姓名或職工號查詢個人檔案信息,按照檔案表的形式顯示;能實現按照文化程度、性別、職稱進行檔案簡單信息的列表顯示與統計相關人數。人事檔案管理模塊是本系統的主要核心功能之一,主要劃分成三個子模塊:人事檔案錄入與編輯子模塊、人事檔案查詢子模塊、人事檔案統計子模塊。?2013/1/10?6.3.1人事檔案錄入與編輯子模塊的實現人事檔案錄入與編輯子模塊功能:能進行管理員信息、檔案登記表、職稱編碼表、部門編碼表、文化程度編碼表及個人檔案信息的錄入與修改,同時能進行上一條及下一條檔案信息的顯示。圖 10 人事檔案錄入與編輯子模塊圖通過定義CbrowseDlg類來實現該子模塊的主體功能,主要是員工基本檔案登記處的瀏覽添加、修改和刪除。另外,通過CbaseIfoDlg來實現基本檔案屬性頁功能,通過CfmilyDlg來實現家庭成員屬性頁的功能,通過ChistoyryDLg來實現工作經歷屬性頁功能,通過ChomorDLg來實現獎懲紀錄屬性頁功能,通過CqualificationDlg來實現職稱評定屬性頁功能,以及通過CtrainDLg來實現培訓紀錄屬性頁功能。 “錄入與編輯”選項主要代碼:void ZhuJieMian:OnLuRuBianJi() / TODO: Add your control notification handler code hereradio=8;m_cXuanZe.ResetContent();m_cXuanZe.Clear();AfxMessageBox(請點擊下面的確定,然后再點擊主界面的確定按鈕轉到個人檔案信息錄入界面,MB_ICONEXCLAMATION ) ;m_TiShi.Empty(); m_TiShi.Insert(0, );UpdateData(FALSE);BOOL ZhuJieMian:OnInitDialog() CDialog:OnInitDialog();/ TODO: Add extra initialization herereturn TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSE選擇“錄入與編輯”選項后點擊確定后的直接跳出如圖10所示的畫面。其詳細代碼如下:void ZhuJieMian:OnQueDing() / TODO: Add your control notification handler code hereWenHuaDlg.fun_radio(radio);if(radio=0)MessageBox(GG);switch (radio)case 8 : m_index=m_cXuanZe.GetCurSel(); UpdateData(TRUE);/WenHuaDlg.reindex(m_index);/傳遞參數WenHuaDlg.DoModal();Invalidate();break; default:m_index=m_cXuanZe.GetCurSel(); WenHuaDlg.reindex(m_index);/傳遞參數WenHuaDlg.DoModal();Invalidate(); break; 6.3.2人事檔案統計模塊的實現功能:根據管理員指定的統計條件從數據庫中讀取數據并匯總,并顯示要列表中,輸出員工基本檔案信息。能實現按照文化程度、性別、總人數、職稱編碼、部門編碼五個統計條件進行檔案簡單信息的列表顯示與統計。通過定義ZhuJieMian類來實現該子模塊的主體功能,相關記錄集類可以通過ClassWizard根據數據庫表結構自動創建。檔案統計處理過程:首先根據查詢條件構造SQL語句,然后從數據庫查詢滿足條件的記錄,并將統計后的信息顯示在員工列表中。核心代碼: void CSearchDlg:OnButtonSearch() BOOL WenHuaJieMian:OnInitDialog() CDialog:OnInitDialog();CString sql1;FROM m_dadj WHERE whcd=初中/高中/大學/研究生/;/根據查詢條件構造SQL語句/ /否則按所填信息查詢(性別,民族,職位等) 1 按文化程度統計首先,進入登陸界面后,輸入管理員賬號和口令后進入主界面,在統計模塊選擇“文化程度”選項,然后在右面的下拉菜單選擇所要查詢的文化程度,然后點擊確定按鈕后,即可顯示查詢結果。其具體的界面如圖11所示。(a)選中“文化程度”選項 (b)選擇所要統計的文化程度(研究生)(c)統計結果圖 11按文化程度統計界面核心代碼:void ZhuJieMian:OnWenHua() / TODO: Add your control notification handler code hereradio=1;m_cXuanZe.ResetContent();m_cXuanZe.InsertString(-1,初中);m_cXuanZe.InsertString(-1,高中);m_cXuanZe.InsertString(-1,大學);m_cXuanZe.InsertString(-1,研究生);m_cXuanZe.Clear();AfxMessageBox(請選擇文化程度,MB_ICONEXCLAMATION ) ;m_TiShi.Empty(); m_TiShi.Insert(0,請選擇文化程度);UpdateData(FALSE);void ZhuJieMian:OnCloseupCOMBOXuanZe() / TODO: Add your control notification handler code herevoid ZhuJieMian:OnRenShu() / TODO: Add your control notification handler code hereradio=2;m_cXuanZe.ResetContent();CString str_zongrenshu;/wei yongm_cXuanZe.Clear();2按性別統計在主控界面中的統計模塊中選擇“性別”選項,然后在右面的下拉菜單選擇所要查詢的性別,然后點擊確定按鈕后,即可顯示查詢結果。其具體的界面如圖12所示。(a)選中“性別”選項 (b)選擇所要統計的性別(男)(c)統計結果圖 12按性別統計界面核心代碼:void ZhuJieMian:OnXingBie() / TODO: Add your control notification handler code hereradio=3;m_cXuanZe.ResetContent();m_cXuanZe.InsertString(-1,男);m_cXuanZe.InsertString(-1,女);m_cXuanZe.Clear();AfxMessageBox(請選擇性別,MB_ICONEXCLAMATION ) ;m_TiShi.Empty(); m_TiShi.Insert(0,請選擇性別);UpdateData(FALSE);3 按部門編碼統計在主控界面中的統計模塊中選擇“部門編碼”選項,然后在右面的下拉菜單選擇所要查詢的部門(例如,人事部),然后點擊確定按鈕后,即可顯示查詢結果。其具體的界面如圖13所示。(a)選中“部門編碼”選項 (b)選擇所要統計的部門(人事部)(c)統計結果圖13 按部門編碼統計界面核心代碼:void ZhuJieMian:OnBuMen() / TODO: Add your control notification handler code hereradio=4;m_cXuanZe.ResetContent();m_cXuanZe.InsertString(-1,rsb(人事部);m_cXuanZe.InsertString(-1,cwb(財務部);m_cXuanZe.InsertString(-1,hqb(后勤部);m_cXuanZe.InsertString(-1,qhb(企劃部);m_cXuanZe.Clear();AfxMessageBox(請選擇部門編碼,MB_ICONEXCLAMATION ) ;m_TiShi.Empty(); m_TiShi.Insert(0,請選擇部門編碼);UpdateData(FALSE);4 按職稱編碼統計在主控界面中的統計模塊中選擇“職稱編碼”選項,然后在右面的下拉菜單選擇所要查詢的職稱(例如,中級職稱M),然后點擊確定按鈕后,即可顯示查詢結果。其具體的界面如圖14所示。(a)選中“職稱編碼”選項 (b)選擇所要統計的職稱(中級職稱M)(c)統計結果圖14 按職稱編碼統計界面核心代碼:void ZhuJieMian:OnZhiCheng() / TODO: Add your control notification handler code hereradio=5;m_cXuanZe.ResetContent();m_cXuanZe.InsertString(-1,L(初級職稱);m_cXuanZe.InsertString(-1,M(中級職稱);m_cXuanZe.InsertString(-1,H(高級職稱);m_cXuanZe.Clear();AfxMessageBox(請選擇職稱編碼,MB_ICONEXCLAMATION ) ;m_TiShi.Empty(); m_TiShi.Insert(0,請選擇職稱編碼);UpdateData(FALSE);5按總人數統計在主控界面中的統計模塊中選擇“總人數”選項,然后點擊確定按鈕后,即可顯示查詢結果,并且在最下面以編輯框的形式顯示人事檔案管理系統里記錄的總人數。其具體的界面如圖15所示。圖15 按總人數統計界面核心代碼:case 2 :SetWindowText(總人數統計界面);m_wenhua_cadodc.SetRecordSource(Select zgbm AS 職工編碼,xm AS 姓名, xb AS 性別, mz AS 民族, csny AS 出生年月, hyzk AS 婚姻狀況,whcd AS 文化程度編碼,Jkzk AS 健康狀況,zzmm AS 政治面貌,zcbm AS 職稱編碼,jg AS 籍貫,sfzh AS 身份證號碼,byxx AS 畢業學校,zytc AS 專業或特長,hkszd AS 戶口所在地,hkxz AS 戶口性質,xzz AS 現住址,zw AS 職務,Gzm AS 工種名,jspx AS 何時技術培訓,jlcf AS 何時獎勵和處分,smwt AS 需要說明問題,tbrqm AS 填表人簽名,tbrq AS 填表日期,gsyj AS 公司審查意見,scrq AS 審查日期,Ryxz AS 人員性質,Rcsj AS 入廠時間, Ryzt AS 人員狀態,bz AS 備注, bmbm AS 部門編碼 ,zgbm FROM m_dadj );m_long=m_wenhua_cadodc.GetRecordset().GetRecordCount();UpdateData(FALSE);break;/統計總人數6.3.3人事檔案查詢模塊的實現1按姓名查詢在主控界面中的查詢模塊中選擇“按姓名”查詢選項,然后在右面的下拉菜單編輯框中輸入所要查詢的姓名(例如,姜東東),然后點擊確定按鈕后,即可顯示查詢姓名為“姜東東”的信息結果。其具體的界面如圖16所示。圖16 按姓名查詢界面核心代碼:void ZhuJieMian:OnXingMing() / TODO: Add your control notification handler code hereradio=6;m_cXuanZe.ResetContent();m_cXuanZe.Clear();AfxMessageBox(請輸入姓名,MB_ICONEXCLAMATION ) ;m_TiShi.Empty(); m_TiShi.Insert(0,請輸入姓名);UpdateData(FALSE);2按職工編號查詢圖17 按職工編號查詢界面核心代碼:void ZhuJieMian:OnBianHao() / TODO: Add your control notification handler code hereradio=7;m_cXuanZe.ResetContent();m_cXuanZe.Clear();AfxMessageBox(請輸入編號,MB_ICONEXCLAMATION ) ;m_TiShi.Empty(); m_TiShi.Insert(0,請輸入編號);UpdateData(FALSE);7 調試分析中遇到的問題是問題1:各個獨立的對話框和主界面做好后,如何實現“選擇相應的選項后跳出相應的對話框”的功能?這個問題我們小組考慮了很久,與其他同學商量后,我才知道原來就是函數調用,即選擇哪個選項,就去調用WenHuaJieMian類的成員函數PreCreateWindow來重新創建統計、查詢對話框窗口就可以實現該功能。其成員函數PreCreateWindow如下。BOOL WenHuaJieMian:PreCreateWindow(CREATESTRUCT& cs) / TODO: Add your specialized code here and/or call the base classreturn CDialog:PreCre

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論