考勤管理系統(tǒng)實(shí)驗(yàn)報(bào)告.doc_第1頁
考勤管理系統(tǒng)實(shí)驗(yàn)報(bào)告.doc_第2頁
考勤管理系統(tǒng)實(shí)驗(yàn)報(bào)告.doc_第3頁
考勤管理系統(tǒng)實(shí)驗(yàn)報(bào)告.doc_第4頁
考勤管理系統(tǒng)實(shí)驗(yàn)報(bào)告.doc_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

目錄第一章 信息系統(tǒng)概況41.1 選題介紹41.2 課程設(shè)計(jì)小組基本情況介紹41.2.1課程設(shè)計(jì)小組成員的基本情況介紹41.2.2課程設(shè)計(jì)小組前期的準(zhǔn)備情況51.2.3課程設(shè)計(jì)小組各成員所承擔(dān)的課程設(shè)計(jì)的任務(wù)5第二章 信息系統(tǒng)分析62.1 可行性分析62.1.1 技術(shù)可行性分析62.1.3 社會(huì)因素可行性分析72.1.4 可行性分析結(jié)論72.2 客戶需求分析72.3 系統(tǒng)分析部分92.3.1 業(yè)務(wù)流程圖92.3.2 數(shù)據(jù)流程圖92.3.3 E-R圖112.3.4 數(shù)據(jù)字典12第三章 信息系統(tǒng)設(shè)計(jì)143.1 功能結(jié)構(gòu)圖設(shè)計(jì)143.2 輸入輸出設(shè)計(jì)143.3 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)153.3.1 概念設(shè)計(jì)153.3.1 邏輯結(jié)構(gòu)設(shè)計(jì)設(shè)計(jì)163.4 代碼設(shè)計(jì)18第四章 信息系統(tǒng)實(shí)施194.1 源程序194.1.1 添加用戶194.1.2 修改密碼194.1.3 出差情況194.1.4 添加部門214.1.5 部門管理224.1.6 更新部門244.1.7 員工考勤登記254.1.8 請(qǐng)假情況374.1.9 上班時(shí)間設(shè)置384.1.10 上班情況394.1.11 用戶登入414.1.12 添加員工414.1.13 員工管理444.1.14 修改員工474.1.15 主界面494.3 模擬運(yùn)行數(shù)據(jù)524.4 系統(tǒng)使用說明書55第五章 參考書籍56第一章 信息系統(tǒng)概況1.1 選題介紹當(dāng)今社會(huì),計(jì)算機(jī)已經(jīng)十分普及,性能也日趨完善。它已經(jīng)被應(yīng)用于許多領(lǐng)域。比如說,小到圖書館的圖書管理,超市或網(wǎng)吧的收費(fèi)管理,KTV的點(diǎn)歌系統(tǒng),大到航空、鐵路的售票,全國人口戶籍的管理等等。隨著現(xiàn)代科技的進(jìn)步,用計(jì)算機(jī)來進(jìn)行考勤的管理也成為現(xiàn)代化企業(yè)運(yùn)作必不可少的一部分。在過去我們的考勤工作都是人工完成的,不僅浪費(fèi)了很多的人力跟物力,而且無法保證其準(zhǔn)確性和透明度,給企業(yè)的管理帶來了許多的不便。現(xiàn)在利用計(jì)算機(jī)來管理我們的考勤工作,大大降低了工作人員的工作量,提高了工作效率,使原本復(fù)雜和枯燥無味的工作變得簡(jiǎn)單而輕松了,而且也實(shí)用、安全。計(jì)算機(jī)技術(shù)特別是數(shù)據(jù)庫技術(shù)的發(fā)展為企業(yè)建立管理信息系統(tǒng),甚至對(duì)改變管理思想起著不可估量的作用。實(shí)踐證明信息技術(shù)已在企業(yè)的管理層面扮演越來越重要的角色。通過考勤系統(tǒng)我們能很容易地對(duì)公司員工的信息有一個(gè)基本的了解,可以很方便地知道員工的出勤情況,通過對(duì)員工出勤信息的了解,就能計(jì)算出員工的實(shí)際工資。一切的統(tǒng)計(jì)和計(jì)算都由計(jì)算機(jī)代為管理了,考勤信息管理系統(tǒng)對(duì)企業(yè)的合理化管理起到了很大的作用,它為企業(yè)信息化的建設(shè)打響了頭炮,而企業(yè)的信息化建設(shè)已成為現(xiàn)代各個(gè)企業(yè)發(fā)展的需要。所以說,考勤管理系統(tǒng)的開發(fā)具有非常重要的意義。第二章 信息系統(tǒng)分析2.1 可行性分析目前,計(jì)算機(jī)在我國的考勤管理工作中,主要可用來進(jìn)行報(bào)表處理,檔案管理,文書編輯,信息查詢,綜合分析。查詢統(tǒng)計(jì)作為考勤管理的一個(gè)重要組成部分,是通過對(duì)考勤情況的調(diào)查,整理和分析,了解考勤情況的發(fā)展趨勢(shì),為各級(jí)領(lǐng)導(dǎo)機(jī)關(guān)制定考出勤的方針,政策,加強(qiáng)干部管理,改革干部制度提供準(zhǔn)確數(shù)字的依據(jù)。其工作除涉及到干部的基本情況統(tǒng)計(jì)之外,還包括職工的工資統(tǒng)計(jì),職工的考勤情況統(tǒng)計(jì),職工的獎(jiǎng)懲情況統(tǒng)計(jì),職工的出差情況統(tǒng)計(jì),職工的請(qǐng)假情況統(tǒng)計(jì)等方面,其涉及的面之廣,數(shù)據(jù)量之大可想而知,若利用手工進(jìn)行考勤的統(tǒng)計(jì)工作,大致要經(jīng)過考勤統(tǒng)計(jì)查詢,考勤的統(tǒng)計(jì)資料的整理,考勤統(tǒng)計(jì)分析三個(gè)過程,但這種手工統(tǒng)計(jì)過程,存在著幾個(gè)明顯的問題,比如說統(tǒng)計(jì)資料缺乏準(zhǔn)確性,及時(shí)性,需要花費(fèi)大量的人力,物力,財(cái)力等。手工方法所表現(xiàn)出來的種種劣勢(shì),使人們慢慢意識(shí)到管理現(xiàn)代化已成為當(dāng)代社會(huì)發(fā)展的一股不可抗拒的洪流。在管理現(xiàn)代化的浪潮中,考勤管理現(xiàn)代化也勢(shì)在必行。實(shí)現(xiàn)考勤管理現(xiàn)代化是一個(gè)復(fù)雜的系統(tǒng)工程,需要采取科學(xué)的管理方法和先進(jìn)的科技手段。科學(xué)的管理方法在管理中一般是指數(shù)學(xué)方法、系統(tǒng)方法、信息方法、控制論方法、社會(huì)學(xué)方法、心理學(xué)方法等科學(xué)方法,而先進(jìn)的科技手段主要是運(yùn)用當(dāng)代最新科學(xué)技術(shù)之一的電子計(jì)算機(jī)來為考勤管理現(xiàn)代化服務(wù)。而且一個(gè)完善的考勤系統(tǒng)應(yīng)做到以下幾點(diǎn): 提高了考勤管理效率,減輕勞動(dòng)強(qiáng)度; 提高信息處理速度和準(zhǔn)確性; 為考勤負(fù)責(zé)人提供更方便、科學(xué)的服務(wù)項(xiàng)目2.1.1 技術(shù)可行性分析系統(tǒng)開發(fā)環(huán)境: Windows xp sp3 + vs2005 + sqlserver2000技術(shù)已經(jīng)比較成熟,和其他應(yīng)用開發(fā)語言比起來有很大的優(yōu)勢(shì),所以利用這些技術(shù)是完全可以完成這些功能的。同時(shí)由于邏輯不是太復(fù)雜,估計(jì)可以按時(shí)完成此項(xiàng)目??记诠芾硐到y(tǒng)是工作主要是在職工和管理都有之間架起一座橋梁,能相互溝通信息和處理信息。這一特點(diǎn)非常適合計(jì)算機(jī)特點(diǎn),通過網(wǎng)絡(luò)internet技術(shù),發(fā)揮計(jì)算機(jī)的信息傳輸速度快、準(zhǔn)確度高的優(yōu)勢(shì)。計(jì)算機(jī)硬件和軟件技術(shù)的飛速發(fā)展,為系統(tǒng)的建議提供了技術(shù)條件。2.1.2 經(jīng)濟(jì)可行性分析(1) 支出A、在基建投資上,只需要配置一臺(tái)DELL服務(wù)器,大概2萬左右;B、軟件設(shè)計(jì)和開發(fā)費(fèi)用:2.5萬元C、經(jīng)常性指出:(主要是指軟件的維護(hù)費(fèi)用)(2) 收益進(jìn)一步實(shí)現(xiàn)辦公自動(dòng)化,減少人力投資和辦公費(fèi)用,極大提高辦公效率,同時(shí)更好地控制考勤制度,降低成本。(3) 投資回收周期根據(jù)經(jīng)驗(yàn)算法,收益的累計(jì)數(shù)開始超過支出的累計(jì)數(shù)的時(shí)間為1年。2.1.3 社會(huì)因素可行性分析對(duì)所建議系統(tǒng)的社會(huì)因素方面的可行性分析:(1)法律可行性新系統(tǒng)的研制和開發(fā),所有軟件都選用正版,將不會(huì)侵犯他、集體和國家的利益,不會(huì)違反國家政策和法律。(2)使用方面的可行性由于新系統(tǒng)的客戶端只要求用瀏覽器,管理者與人員完全有能力使用此系統(tǒng),并且新系統(tǒng)的研制和開發(fā)是充分考慮工作人員對(duì)考勤的易于管理,提高工作效率,界面友好,操作簡(jiǎn)單方便,能完全滿足職工的使用要求。對(duì)傳統(tǒng)管理理念的沖擊,可能引起管理層的變動(dòng)和人員調(diào)整。對(duì)于企業(yè)管理人員的要求提高,使企業(yè)在一定的可能下進(jìn)行機(jī)構(gòu)精簡(jiǎn),迫使工作人員繼續(xù)學(xué)習(xí)新知識(shí),拓寬企業(yè)在市場(chǎng)競(jìng)爭(zhēng)環(huán)境下的生存空間。對(duì)于企業(yè)的管理者與職工之間管理方式的轉(zhuǎn)變和擴(kuò)充。2.1.4 可行性分析結(jié)論結(jié)論意見:經(jīng)上述可行性分析,系統(tǒng)研制和開發(fā)可以立即開始進(jìn)行2.2 客戶需求分析考勤系統(tǒng)應(yīng)該便于管理者的查詢、修改、更新、統(tǒng)計(jì)以及高層管理人員的查詢等操作。能從整體上體現(xiàn)去每個(gè)員工每日,每月的出勤情況?;拘畔⒐芾戆ü?jié)假日日期設(shè)置、部門信息管理和員工信息管理。(1) 主要功能a.員工考勤簽到:員工每天上班時(shí)需要登陸系統(tǒng)進(jìn)行簽到,如果當(dāng)天已經(jīng)簽到了,則不執(zhí)行重復(fù)操作!考勤簽退:員工每天下班時(shí)需要登陸系統(tǒng)進(jìn)行簽退,如果當(dāng)天還沒有簽過到,則不執(zhí)行簽退操作,如果當(dāng)天還沒有到下班時(shí)間,也不執(zhí)行簽退操作! 節(jié)假日查看:員工可以登錄查看節(jié)假日加班安排系統(tǒng)管理:修改自己的密碼, 查看系統(tǒng)簡(jiǎn)介.b.管理員員工信息管理:管理員登陸系統(tǒng)后可以添加新的員工信息,可以對(duì)現(xiàn)有員工的信息進(jìn)行修改和查詢!可以刪除某些員工信息,當(dāng)刪除員工信息時(shí)同時(shí)將刪除他們的考勤信息職位類別及上下班時(shí)間管理:不同的職位類別擁有不同的上下班時(shí)間,管理員可以添加新的職位類別,修改已經(jīng)存在的職位類別的名稱和上下班時(shí)間,部門信息管理:管理員可以添加和刪除部門信息,當(dāng)部門下面存在員工信息時(shí)不執(zhí)行刪除操作.系統(tǒng)管理:修改自己的登陸密碼,查看系統(tǒng)簡(jiǎn)介。節(jié)假日管理:節(jié)假日的設(shè)置和查看; (2) 特點(diǎn) 實(shí)現(xiàn)了管理員和員工登陸信息的自動(dòng)判斷!根據(jù)不同的身份顯示不同的功能菜單。程序使用三層架構(gòu)思想,采用完全面向?qū)ο蟮乃枷敕椒ㄔO(shè)計(jì)。系統(tǒng)在進(jìn)行相關(guān)操作如刪除員工信息時(shí)使用了存儲(chǔ)過程。(3) 數(shù)據(jù)輸入:通過登錄系統(tǒng)輸入職工上班下班,以及請(qǐng)假、出差等信息。輸出:職工考勤情況。(用戶對(duì)相關(guān)職工的查詢結(jié)果和報(bào)表)(4) 安全保密系統(tǒng)對(duì)不同權(quán)限的用戶提供不同的功能模塊,對(duì)歷史數(shù)據(jù)的更改和新數(shù)據(jù)的添加只有一定權(quán)限的用戶才能操作,一般用戶只能進(jìn)行查詢操作。對(duì)數(shù)據(jù)庫的關(guān)鍵數(shù)據(jù)應(yīng)要求保密。系統(tǒng)默認(rèn)管理員登陸信息: 帳號(hào)admin 密碼admin2.3 系統(tǒng)分析部分2.3.1 業(yè)務(wù)流程圖圖2-1 業(yè)務(wù)流程圖2.3.2 數(shù)據(jù)流程圖圖2-2 頂層數(shù)據(jù)流程圖 圖2-3 一層數(shù)據(jù)流程圖2.3.3 E-R圖圖2-5 E-R圖名字:上班時(shí)間數(shù)據(jù)描述:關(guān)于每日上班時(shí)間的信息,用于員工對(duì)上班時(shí)間的確認(rèn)定義:上班時(shí)間數(shù)據(jù)=上午工作開始時(shí)間+上午工作離開時(shí)間+下午工作開始時(shí)間+下午工作離開時(shí)間位置:輸入到上班時(shí)間表2.3.4 數(shù)據(jù)字典名字:部門數(shù)據(jù)描述:部門的信息,用于對(duì)部門的確認(rèn)定義:部門資料數(shù)據(jù)=部門代號(hào)+部門名稱位置:輸入到部門表名字:上班類型數(shù)據(jù)描述:上班類型的信息,用于對(duì)員工上班時(shí)間類型的確認(rèn)定義:上班類型數(shù)據(jù)=類型代號(hào)+類型名稱位置:輸入到上班類型表名字:個(gè)人資料數(shù)據(jù)描述:職工的個(gè)人信息,用于對(duì)職工的確認(rèn)定義:個(gè)人資料數(shù)據(jù)=員工ID+員工姓名+員工性別+出生日期 +職務(wù)+個(gè)人工作資料檔案位置:輸入到員工表 名字:職工列表數(shù)據(jù)描述:職工的部門信息,用于對(duì)職工部門的確認(rèn)定義:職工列表數(shù)據(jù)=員工ID +員工姓名+部門代碼+部門名稱+員工類別+員工職位+查詢密碼位置:輸入到部門表、用戶表名字:考勤數(shù)據(jù)描述:職工的考勤信息定義:考勤數(shù)據(jù)=員工ID+年月+遲到+早退+請(qǐng)假+曠工 位置:輸入到請(qǐng)假表、上班表、出差表名字:用戶名別名: 描述:惟一標(biāo)識(shí)本系統(tǒng)的用戶身份定義:用戶名=5字符5位置:操作用戶表名字:操作用戶表別名:操作用戶信息描述:是對(duì)使用本系統(tǒng)的用戶進(jìn)行身份和權(quán)限驗(yàn)證用的定義:用戶名+密碼+所屬單位+權(quán)限一+權(quán)限二+操作員位置:所有表單名字:密碼別名: 描述:驗(yàn)證本系統(tǒng)的用戶身份定義:密碼=5字符5位置:用戶表名字:權(quán)限二別名: 描述:標(biāo)識(shí)本系統(tǒng)的用戶對(duì)本系統(tǒng)登記權(quán)的使用權(quán)限定義:權(quán)限二=5字符5位置:用戶表名字:權(quán)限一別名: 描述:標(biāo)識(shí)本系統(tǒng)的用戶對(duì)本系統(tǒng)管理權(quán)使用權(quán)限定義:權(quán)限一=5字符5位置:用戶表第三章 信息系統(tǒng)設(shè)計(jì)3.1 功能結(jié)構(gòu)圖設(shè)計(jì)圖3-1 功能結(jié)構(gòu)圖3.2 輸入輸出設(shè)計(jì)表3-1 登錄名稱、標(biāo)識(shí)符登錄輸入填寫用戶的ID號(hào)和密碼,點(diǎn)擊確認(rèn)按鈕。輸出提示登錄成功進(jìn)入系統(tǒng)主頁面表3-2 員工上班名稱、標(biāo)識(shí)符上班輸入選擇部門、姓名,點(diǎn)擊上班輸出提示上班成功信息表3-3 員工下班名稱、標(biāo)識(shí)符下班輸入輸入部門、姓名,點(diǎn)擊上班輸出提示下班成功信息表3-4 修改密碼名稱、標(biāo)識(shí)符修改密碼輸入管理員輸入用戶名、原始密碼、新設(shè)定的密碼輸出提示修改密碼成功信息表3-5 申請(qǐng)請(qǐng)假名稱、標(biāo)識(shí)符申請(qǐng)請(qǐng)假輸入輸入請(qǐng)假人姓名、所屬部門、請(qǐng)假時(shí)間、請(qǐng)假時(shí)長(zhǎng)、請(qǐng)假原因輸出提示請(qǐng)假申請(qǐng)已經(jīng)提交信息表3-6 申請(qǐng)出差名稱、標(biāo)識(shí)符申請(qǐng)出差輸入申請(qǐng)人姓名、所屬部門、出差的開始時(shí)間、出差地點(diǎn)、出差原因輸出提示出差申請(qǐng)已經(jīng)提交信息表3-7 員工添加名稱、標(biāo)識(shí)符添加員工輸入輸入部門、姓名、性別、年齡、進(jìn)公司時(shí)間、個(gè)人密碼輸出提示添加已完成表3-8 部門添加名稱、標(biāo)識(shí)符部門添加輸入輸入部門名稱輸出提示添加已完成表3-9 上下班時(shí)間設(shè)定名稱、標(biāo)識(shí)符上、下班時(shí)間設(shè)定輸入上、下班時(shí)間輸出提示設(shè)置成功3.3 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)3.3.1 概念設(shè)計(jì)數(shù)據(jù)庫一般分為三級(jí)模式:外模式、概念模式和內(nèi)模式。在這里我們將要設(shè)計(jì)的是數(shù)據(jù)庫的概念模式。通過對(duì)職工出勤管理系統(tǒng)的內(nèi)容和數(shù)據(jù)流程分析及E-R圖,設(shè)計(jì)如下數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):1.部門信息。包括部門編號(hào)、部門名稱、部門人數(shù)等。2.超級(jí)用戶信息。包括用戶名、密碼、姓名、性別、出生日期、籍貫等。3.普通用戶信息。包括編號(hào)、部門名稱、姓名、性別、出生日期、籍貫等信息。4.考勤信息。包括序列號(hào)、編號(hào)、簽到時(shí)間、簽離時(shí)間等信息。5.員工狀態(tài)。包括員工請(qǐng)假、出差、早退、遲到、上班。6.考勤歷史信息。包括記錄號(hào)、編號(hào)、日期、簽到時(shí)間、簽離時(shí)間、遲到、缺勤、早退等信息。7.用戶信息。包括用戶名稱、密碼、所在單位、用戶權(quán)限信息、操作員、最后修改時(shí)間。3.3.1 邏輯結(jié)構(gòu)設(shè)計(jì)設(shè)計(jì)根據(jù)職工考勤管理系統(tǒng)的功能要求,選取SQLServer 2000作為后臺(tái)數(shù)據(jù)庫。在上面的實(shí)體和實(shí)體之間的E-R圖設(shè)計(jì)基礎(chǔ)上,將ER圖轉(zhuǎn)化為關(guān)系模型,形成數(shù)據(jù)庫中的表格及表格之間的關(guān)系。該數(shù)據(jù)庫由5個(gè)表組成,部門表、超級(jí)用戶表、用戶表、考勤表、考勤歷史表。分別如下表所示:表3-10 出差表名稱字段類型為空性備注部門代號(hào)departmentId數(shù)字否員工IDworkerId數(shù)字否出差時(shí)間ccTime日期/時(shí)間否出差地點(diǎn)ccArea文本是出差天數(shù)ccLength數(shù)字是登記時(shí)間dcTime日期/時(shí)間是銷差時(shí)間xcTime日期/時(shí)間是出差備注ccContent文本是表3-11部門表名稱字段類型為空性備注部門代號(hào)departmentId數(shù)字否唯一表示部門部門名稱departmentName文本否部門名稱表3-12 請(qǐng)假表名稱字段類型為空性備注部門代號(hào)departmentId數(shù)字否員工IDworkerId數(shù)字否請(qǐng)假時(shí)間qjTime日期/時(shí)間否請(qǐng)假天數(shù)qjLength數(shù)字是登記時(shí)間djTime日期/時(shí)間是請(qǐng)假原因qjReason文本是銷假時(shí)間xjTime日期/時(shí)間是是否曠工ynKg是/否是表3-13 上班表名稱字段類型為空性備注部門代號(hào)departmentId數(shù)字否員工IDworkerId數(shù)字否工作日期workday日期/時(shí)間否上午上班時(shí)間mstartTime日期/時(shí)間是下午上班時(shí)間astartTime日期/時(shí)間是上午下班時(shí)間mleaveTime日期/時(shí)間是下午下班時(shí)間aleaveTime日期/時(shí)間是上班類型1workmsType數(shù)字是存放工作類型表中的typeId 0:正常上班 1:請(qǐng)假 2:出差 3:早退 4:遲到上班類型2workmlType數(shù)字是默認(rèn)值為0,作為是否已經(jīng)登記的標(biāo)記上班類型3workasType數(shù)字是默認(rèn)值為0,作為是否已經(jīng)登記的標(biāo)記上班類型4workalType數(shù)字是默認(rèn)值為0,作為是否已經(jīng)登記的標(biāo)記表3-14 用戶表名稱字段類型為空性備注用戶名username文本否密碼password文本否真實(shí)姓名realname文本否注冊(cè)時(shí)間regtime日期/時(shí)間否權(quán)限permission數(shù)字否0:管理員 1:普通用戶表3-15 員工表名稱字段類型為空性備注部門代號(hào)departmentId數(shù)字否員工IDworkerId數(shù)字否員工姓名workerName文本是員工性別workerSex文本是員工年齡workerAge數(shù)字是進(jìn)入公司時(shí)間intoCompanyTime日期/時(shí)間否員工密碼workerPsw文本否進(jìn)行出勤輸入的最后驗(yàn)證表3-16 上班時(shí)間表名稱字段類型為空性備注上午工作開始時(shí)間mstartTime日期/時(shí)間否上午工作離開時(shí)間mleaveTime日期/時(shí)間否下午工作開始時(shí)間astartTime日期/時(shí)間否下午工作離開時(shí)間aleaveTime日期/時(shí)間否表3-17 上班類型表名稱字段類型為空性備注類型代號(hào)typeId數(shù)字否類型名稱typeName文本是3.4 代碼設(shè)計(jì)部門代號(hào)為兩位數(shù),按照創(chuàng)建時(shí)間早晚排行。例如:生產(chǎn)部為第七個(gè)創(chuàng)建的部門,所以他的編號(hào)為07。員工ID一共分成6位,前兩位表示部門代號(hào),中間兩位表示進(jìn)入部門年份,后兩位表示員工編號(hào)。例如:婁京兆是2013年生產(chǎn)部招收的第一位員工,那么他的ID就是071301。上班類型代號(hào)為一位數(shù),按照上班類型分為五類,0:正常上班1:請(qǐng)假2:出差3:早退4:遲到。 第四章 信息系統(tǒng)實(shí)施4.1 源程序 4.1.1 添加用戶Dim m_clsUser As clsUserPrivate Sub cmdReg_Click()Set m_clsUser = New clsUser m_clsUser.DoAddUser txtUserName, txtPassword, txtPasswordConfirm, txtRealName, comboPermission, txtRegTime, frmAddUserEnd SubPrivate Sub Form_Load() comboPermission.AddItem 管理員, 0 comboPermission.AddItem 普通用戶, 1 comboPermission.ListIndex = 0 End SubPrivate Sub cmdClose_Click() Unload MeEnd Sub4.1.2 修改密碼Dim m_clsUser As clsUserPrivate Sub cmdChPwdOk_Click() Set m_clsUser = New clsUser m_clsUser.DoChPwd txtChUser, txtOldPwd, txtNewPwd, txtNewPwdagain, frmChPwdEnd SubPrivate Sub Form_Load()End SubPrivate Sub cmdChPwdCancel_Click() Unload MeEnd Sub4.1.3 出差情況Dim strSql As StringDim rs As New RecordsetPrivate Sub cboDept_Click() cboName.Clear strSql = Select * from TWorker where departmentId= & cboDept.ItemData(cboDept.ListIndex) & order by workerId Set rs = TransactSQL(strSql) Do While Not rs.EOF cboName.AddItem (rs.Fields(2).Value) cboName.ItemData(cboName.NewIndex) = rs.Fields(1).Value rs.MoveNext Loop rs.Close cboName.ListIndex = 0 cboName.RefreshEnd SubPrivate Sub cmdPrint_Click() Set drChuChai.DataSource = adodcChuChai.Recordset drChuChai.Sections(1).Controls(1).Caption = 請(qǐng)假情況統(tǒng)計(jì)表 drChuChai.Sections(2).Controls(1).Caption = 部門名稱 drChuChai.Sections(2).Controls(2).Caption = 員工名稱 drChuChai.Sections(2).Controls(3).Caption = 出差時(shí)間 drChuChai.Sections(2).Controls(4).Caption = 出差地點(diǎn) drChuChai.Sections(2).Controls(5).Caption = 出差天數(shù) drChuChai.Sections(2).Controls(6).Caption = 登記時(shí)間 drChuChai.Sections(2).Controls(7).Caption = 銷差時(shí)間 drChuChai.Sections(2).Controls(8).Caption = 出差備注 drChuChai.Sections(3).Controls(1).DataField = 部門名稱 drChuChai.Sections(3).Controls(2).DataField = 員工名稱 drChuChai.Sections(3).Controls(3).DataField = 出差時(shí)間 drChuChai.Sections(3).Controls(4).DataField = 出差地點(diǎn) drChuChai.Sections(3).Controls(5).DataField = 出差天數(shù) drChuChai.Sections(3).Controls(6).DataField = 登記時(shí)間 drChuChai.Sections(3).Controls(7).DataField = 銷差時(shí)間 drChuChai.Sections(3).Controls(8).DataField = 出差備注 drChuChai.ShowEnd SubPrivate Sub cmdQuery_Click() strSql = select a.departmentName as 部門名稱 ,b.workerName as 員工名稱,c.ccTime as 出差時(shí)間,c.ccArea as 出差地點(diǎn),c.ccLength as 出差天數(shù),c.dcTime as 登記時(shí)間,c.xcTime as 銷差時(shí)間,c.ccContent as 出差備注 from TDepartment a, TWorker b,TChuChai c where b.departmentId= & cboDept.ItemData(cboDept.ListIndex) & and b.workerId= & cboName.ItemData(cboName.ListIndex) & and a.departmentId=b.departmentId and b.departmentId=c.departmentId and b.workerId =c.workerId and c.ccTime between # & dtpStartDate & # and # & dtpEndDate & # ConnectToDB RefushDataGrid adodcChuChai, dgChuChai, strSql DisConnectEnd SubPrivate Sub Form_Load()strSql = Select * from TDepartment order by departmentId Set rs = TransactSQL(strSql) Do While Not rs.EOF cboDept.AddItem (rs.Fields(1).Value) cboDept.ItemData(cboDept.NewIndex) = rs.Fields(0).Value rs.MoveNext Loop rs.Close cboDept.ListIndex = 0 cboDept.RefreshEnd Sub4.1.4 添加部門Dim departId As IntegerDim departName As StringIf txtbmName.Text = Then MsgBox 部門名稱不能有空值 Exit SubElsedepartId = Trim(txtaddbmId.Text) departName = Trim(txtbmName.Text)strSql = insert into TDepartment (departmentId,departmentName) values( _ & departId & , & departName & ) TransactSQL (strSql)MsgBox 添加成功End IfEnd SubPublic Sub init()txtbmName.Text = num = 0 strSql = select * from TDepartment order by departmentId Set rs = TransactSQL(strSql) If Not rs.EOF And Not rs.BOF Then rs.MoveLast num = rs(0) num = num + 1 Me.txtaddbmId.Text = CStr(num) Else Me.txtaddbmId.Text = 1 End IfEnd SubPrivate Sub cmdreadd_Click() Call initEnd SubPrivate Sub Form_Load() num = 0 strSql = select * from TDepartment order by departmentId Set rs = TransactSQL(strSql) If Not rs.EOF And Not rs.BOF Then rs.MoveLast num = rs(0) num = num + 1 Me.txtaddbmId.Text = CStr(num) Else Me.txtaddbmId.Text = 1 End If End Sub4.1.5 部門管理Dim strSql As StringDim RowNumber As IntegerPrivate Sub cmdadd_Click() frmDepAdd.Show vbModalEnd SubPrivate Sub cmddel_Click() If ConnectToDB() = False Then MsgBox 數(shù)據(jù)庫連接失敗! Exit Sub End If If MsgBox(你真的要?jiǎng)h除嗎, vbInformation + vbYesNo, App.Title) = vbYes Then strSql = delete from TDepartment where departmentId = & RowNumber TransactSQL (strSql) DisConnect MsgBox 刪除成功, vbInformation, App.Title strSql = select departmentId as 部門編號(hào), departmentName as 部門名稱 from TDepartment RefreshData adodcDepManage, dgDepManage, strSql Exit Sub End IfEnd SubPrivate Sub cmdUpdate_Click() If RowNumber = -1 Then MsgBox 請(qǐng)先選擇要修改的數(shù)據(jù)! Exit Sub End If frmDepUpdate.Show vbModalEnd SubPrivate Sub Comselect_Click()Dim m_txtdepartID As StringDim m_txtdepartName As Stringm_txtdepartID = Trim(txtDepartId.Text)m_txtdepartName = Trim(txtDepartName.Text) If (m_txtdepartID = And m_txtdepartName = ) Then strSql = select departmentId as 部門編號(hào), departmentName as 部門名稱 from TDepartment ElseIf (m_txtdepartID And m_txtdepartName ) Then strSql = select departmentId as 部門編號(hào), departmentName as 部門名稱 _ & from TDepartment where departmentId = & m_txtdepartID & and departmentName like % & m_txtdepartName & % ElseIf (m_txtdepartID ) Then strSql = select departmentId as 部門編號(hào), departmentName as 部門名稱 from TDepartment where departmentId = & m_txtdepartID ElseIf m_txtdepartName Then strSql = select departmentId as 部門編號(hào), departmentName as 部門名稱 _ & from TDepartment where departmentName like % & m_txtdepartName & % End If RefreshData adodcDepManage, dgDepManage, strSqlEnd SubPrivate Sub dgDepManage_Click()On Error GoTo ShowErr: If IsNull(dgDepManage.Bookmark) Then RowNumber = -1 Exit Sub Else RowNumber = dgDepManage.Columns(0).CellValue(dgDepManage.Bookmark) End If frmDepUpdate.SetRowNumber RowNumberShowErr: Exit SubEnd SubPrivate Sub dgDepManage_DblClick()On Error GoTo ShowErr: If IsNull(dgDepManage.Bookmark) Then RowNumber = -1 Exit Sub Else RowNumber = dgDepManage.Columns(0).CellValue(dgDepManage.Bookmark) End If frmDepUpdate.SetRowNumber RowNumber frmDepUpdate.Show vbModalShowErr: Exit SubEnd SubPrivate Sub Form_Load() RowNumber = -1End Sub4.1.6 更新部門Option ExplicitDim strSql As StringDim rsDep As New ADODB.RecordsetDim m_irownumber As IntegerDim m_iDepartId As IntegerDim m_strDepartName As StringPrivate Sub cmdOk_Click() If txtDepartName.Text = Then MsgBox 登記項(xiàng)目不能有空值 Exit Sub Else m_iDepartId = CInt(txtDepartId.Text) m_strDepartName = Trim(txtDepartName.Text) strSql = update TDepartment set departmentName= & m_strDepartName & where departmentId= & m_iDepartId If ConnectToDB() = False Then MsgBox 數(shù)據(jù)庫連接失敗! Exit Sub End If TransactSQL (strSql) MsgBox 修改成功 cmdok.Enabled = False DisConnect strSql = select departmentId as 部門編號(hào), departmentName as 部門名稱 from TDepartment RefreshData frmDepManage.adodcDepManage, frmDepManage.dgDepManage, strSql End IfEnd SubPrivate Sub Form_Load() m_iDepartId = GetRowNumber If ConnectToDB() = False Then MsgBox 數(shù)據(jù)庫連接失敗! Exit Sub End If strSql = select * from TDepartment where departmentId= & m_iDepartId Set rsDep = TransactSQL(strSql) txtDepartId.Text = rsDep.Fields(0) txtDepartId.Refresh txtDepartName.Text = rsDep.Fields(1) txtDepartName.Refresh txtDepartId.Enabled = False DisConnectEnd SubPublic Function SetRowNumber(ByVal p_irownumber As Integer) m_irownumber = p_irownumberEnd FunctionPublic Function GetRowNumber() As Integer GetRowNumber = m_irownumberEnd Function4.1.7 員工考勤登記Dim strSql As StringDim rs As New ADODB.RecordsetDim today As StringDim qjLength As DoubleDim qjTime As StringDim djTime As StringDim qjReason As StringDim ccLength As DoubleDim ccTime As StringDim dcTime As StringDim ccArea As StringDim ccContent As StringDim nowtime As StringPrivate Sub cboDept_Click()cboName.ClearstrSql = Select * from TWorker where departmentId= & cboDept.ItemData(cboDept.ListIndex) & order by workerIdSet rs = TransactSQL(strSql) Do While Not rs.EOF cboName.AddItem (rs.Fields(2).Value) cboName.ItemData(cboName.NewIndex) = rs.Fields(1).Value rs.MoveNext Loop rs.Close cboName.ListIndex = 0 cboName.RefreshEnd SubPrivate Sub cboYourDepCC_Click()cboYourNameCC.ClearstrSql = Select * from TWorker where departmentId= & cboYourDepCC.ItemData(cboYourDepCC.ListIndex) & order by workerIdSet rs = TransactSQL(strSql) Do While Not rs.EOF cboYourNameCC.AddItem (rs.Fields(2).Value)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論