




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、目錄第一章信息系統(tǒng)概況31.1 選題介紹31.2 課程設(shè)計小組基本情況介紹錯誤!未定義書簽。1.2.1 課程設(shè)計小組成員的基本情況介紹錯誤!未定義書簽。1.2.2 課程設(shè)計小組前期的準(zhǔn)備情況錯誤!未定義書簽。1.2.3 課程設(shè)計小組各成員所承擔(dān)的課程設(shè)計的任務(wù).錯誤!未定義書簽。第二章信息系統(tǒng)分析42.1 可行性分析42.1.1 技術(shù)可行性分析42.1.3 社會因素可行性分析52.1.4 可行性分析結(jié)論52.2 客戶需求分析52.3 系統(tǒng)分析部分72.3.1 業(yè)務(wù)流程圖72.3.2 數(shù)據(jù)流程圖72.3.3 E-R圖92.3.4 數(shù)據(jù)字典10第三章信息系統(tǒng)設(shè)計123.1 功能結(jié)構(gòu)圖設(shè)計123.2
2、 輸入輸出設(shè)計123.3 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計133.3.1 概念設(shè)計133.3.2 邏輯結(jié)構(gòu)設(shè)計設(shè)計143.4 代碼設(shè)計16第四章信息系統(tǒng)實施174.1 源程序174.1.1 添加用戶174.1.2 修改密碼174.1.3 出差情況174.1.4 添加部門194.1.5 部門管理204.1.6 更新部門224.1.7 員工考勤登記234.1.8 請假情況354.1.9 上班時間設(shè)置374.1.10 上班情況384.1.11 用戶登入394.1.12 添加員工404.1.13 員工管理424.1.14 修改員工464.1.15 主界面484.3 模擬運行數(shù)據(jù)514.4 系統(tǒng)使用說明書54第五章參考書
3、籍56第一章信息系統(tǒng)概況1.1選題介紹當(dāng)今社會,計算機已經(jīng)十分普及,性能也日趨完善。它已經(jīng)被應(yīng)用于許多領(lǐng)域。比如說,小到圖書館的圖書管理,超市或網(wǎng)吧的收費管理,KTV的點歌系統(tǒng),大到航空、鐵路的售票,全國人口戶籍的管理等等。隨著現(xiàn)代科技的進步,用計算機來進行考勤的管理也成為現(xiàn)代化企業(yè)運作必不可少的一部分。在過去我們的考勤工作都是人工完成的,不僅浪費了很多的人力跟物力,而且無法保證其準(zhǔn)確性和透明度,給企業(yè)的管理帶來了許多的不便?,F(xiàn)在利用計算機來管理我們的考勤工作,大大降低了工作人員的工作量,提高了工作效率,使原本復(fù)雜和枯燥無味的工作變得簡單而輕松了,而且也實用、安全。計算機技術(shù)特別是數(shù)據(jù)庫技術(shù)的
4、發(fā)展為企業(yè)建立管理信息系統(tǒng),甚至對改變管理思想起著不可估量的作用。實踐證明信息技術(shù)已在企業(yè)的管理層面扮演越來越重要的角色。通過考勤系統(tǒng)我們能很容易地對公司員工的信息有一個基本的了解,可以很方便地知道員工的出勤情況,通過對員工出勤信息的了解,就能計算出員工的實際工資。一切的統(tǒng)計和計算都由計算機代為管理了,考勤信息管理系統(tǒng)對企業(yè)的合理化管理起到了很大的作用,它為企業(yè)信息化的建設(shè)打響了頭炮,而企業(yè)的信息化建設(shè)已成為現(xiàn)代各個企業(yè)發(fā)展的需要。所以說,考勤管理系統(tǒng)的開發(fā)具有非常重要的意義。第二章信息系統(tǒng)分析2.1 可行性分析目前,計算機在我國的考勤管理工作中,主要可用來進行報表處理,檔案管理,文書編輯,信
5、息查詢,綜合分析。查詢統(tǒng)計作為考勤管理的一個重要組成部分,是通過對考勤情況的調(diào)查,整理和分析,了解考勤情況的發(fā)展趨勢,為各級領(lǐng)導(dǎo)機關(guān)制定考出勤的方針,政策,加強干部管理,改革干部制度提供準(zhǔn)確數(shù)字的依據(jù)。其工作除涉及到干部的基本情況統(tǒng)計之外,還包括職工的工資統(tǒng)計,職工的考勤情況統(tǒng)計,職工的獎懲情況統(tǒng)計,職工的出差情況統(tǒng)計,職工的請假情況統(tǒng)計等方面,其涉及的面之廣,數(shù)據(jù)量之大可想而知,若利用手工進行考勤的統(tǒng)計工作,大致要經(jīng)過考勤統(tǒng)計查詢,考勤的統(tǒng)計資料的整理,考勤統(tǒng)計分析三個過程,但這種手工統(tǒng)計過程,存在著幾個明顯的問題,比如說統(tǒng)計資料缺乏準(zhǔn)確性,及時性,需要花費大量的人力,物力,財力等。手工方法
6、所表現(xiàn)出來的種種劣勢,使人們慢慢意識到管理現(xiàn)代化已成為當(dāng)代社會發(fā)展的一股不可抗拒的洪流。在管理現(xiàn)代化的浪潮中,考勤管理現(xiàn)代化也勢在必行。實現(xiàn)考勤管理現(xiàn)代化是一個復(fù)雜的系統(tǒng)工程,需要采取科學(xué)的管理方法和先進的科技手段??茖W(xué)的管理方法在管理中一般是指數(shù)學(xué)方法、系統(tǒng)方法、信息方法、控制論方法、社會學(xué)方法、心理學(xué)方法等科學(xué)方法,而先進的科技手段主要是運用當(dāng)代最新科學(xué)技術(shù)之一的電子計算機來為考勤管理現(xiàn)代化服務(wù)。而且一個完善的考勤系統(tǒng)應(yīng)做到以下幾點:?提高了考勤管理效率,減輕勞動強度;?提高信息處理速度和準(zhǔn)確性;?為考勤負責(zé)人提供更方便、科學(xué)的服務(wù)項目2.1.1 技術(shù)可行性分析系統(tǒng)開發(fā)環(huán)境:Windows
7、xpsp3+vs2005+sqlserver2000技術(shù)已經(jīng)比較成熟,和其他應(yīng)用開發(fā)語言比起來有很大的優(yōu)勢,所以利用這些技術(shù)是完全可以完成這些功能的。同時由于邏輯不是太復(fù)雜,估計可以按時完成此項目。考勤管理系統(tǒng)是工作主要是在職工和管理都有之間架起一座橋梁,能相互溝通信息和處理信息。這一特點非常適合計算機特點,通過網(wǎng)絡(luò)internet技術(shù),發(fā)揮計算機的信息傳輸速度快、準(zhǔn)確度高的優(yōu)勢。計算機硬件和軟件技術(shù)的飛速發(fā)展,為系統(tǒng)的建議提供了技術(shù)條件。2.1.2 經(jīng)濟可行性分析(1) 支出A、在基建投資上,只需要配置一臺DELL服務(wù)器,大概2萬左右;B、軟件設(shè)計和開發(fā)費用:2.5萬元C、經(jīng)常性指出:(主要
8、是指軟件的維護費用)(2) 收益進一步實現(xiàn)辦公自動化,減少人力投資和辦公費用,極大提高辦公效率,同時更好地控制考勤制度,降低成本。(3) 投資回收周期根據(jù)經(jīng)驗算法,收益的累計數(shù)開始超過支出的累計數(shù)的時間為1年。2.1.3 社會因素可行性分析對所建議系統(tǒng)的社會因素方面的可行性分析:(1) 法律可行性新系統(tǒng)的研制和開發(fā),所有軟件都選用正版,將不會侵犯他、集體和國家的利益,不會違反國家政策和法律。(2) 使用方面的可行性由于新系統(tǒng)的客戶端只要求用瀏覽器,管理者與人員完全有能力使用此系統(tǒng),并且新系統(tǒng)的研制和開發(fā)是充分考慮工作人員對考勤的易于管理,提高工作效率,界面友好,操作簡單方便,能完全滿足職工的使
9、用要求。對傳統(tǒng)管理理念的沖擊,可能引起管理層的變動和人員調(diào)整。對于企業(yè)管理人員的要求提高,使企業(yè)在一定的可能下進行機構(gòu)精簡,迫使工作人員繼續(xù)學(xué)習(xí)新知識,拓寬企業(yè)在市場競爭環(huán)境下的生存空間。對于企業(yè)的管理者與職工之間管理方式的轉(zhuǎn)變和擴充。2.1.4 可行性分析結(jié)論結(jié)論意見:經(jīng)上述可行性分析,系統(tǒng)研制和開發(fā)可以立即開始進行2.2 客戶需求分析考勤系統(tǒng)應(yīng)該便于管理者的查詢、修改、更新、統(tǒng)計以及高層管理人員的查詢等操作。能從整體上體現(xiàn)去每個員工每日,每月的出勤情況?;拘畔⒐芾戆ü?jié)假日日期設(shè)置、部門信息管理和員工信息管理。(1) 主要功能a. 員工考勤簽到:員工每天上班時需要登陸系統(tǒng)進行簽到,如果當(dāng)
10、天已經(jīng)簽到了,則不執(zhí)行重復(fù)操作!考勤簽退:員工每天下班時需要登陸系統(tǒng)進行簽退,如果當(dāng)天還沒有簽過到,則不執(zhí)行簽退操作,如果當(dāng)天還沒有到下班時間,也不執(zhí)行簽退操作!節(jié)假日查看:員工可以登錄查看節(jié)假日加班安排系統(tǒng)管理:修改自己的密碼,查看系統(tǒng)簡介.b. 管理員員工信息管理:管理員登陸系統(tǒng)后可以添加新的員工信息,可以對現(xiàn)有員工的信息進行修改和查詢!可以刪除某些員工信息,當(dāng)刪除員工信息時同時將刪除他們的考勤信息職位類別及上下班時間管理:不同的職位類別擁有不同的上下班時間,管理員可以添加新的職位類別,修改已經(jīng)存在的職位類別的名稱和上下班時間,部門信息管理:管理員可以添加和刪除部門信息,當(dāng)部門下面存在員工
11、信息時不執(zhí)行刪除操作.系統(tǒng)管理:修改自己的登陸密碼,查看系統(tǒng)簡介。節(jié)假日管理:節(jié)假日的設(shè)置和查看;(2) 特點實現(xiàn)了管理員和員工登陸信息的自動判斷!根據(jù)不同的身份顯示不同的功能菜單。程序使用三層架構(gòu)思想,采用完全面向?qū)ο蟮乃枷敕椒ㄔO(shè)計。系統(tǒng)在進行相關(guān)操作如刪除員工信息時使用了存儲過程。(3) 數(shù)據(jù)輸入:通過登錄系統(tǒng)輸入職工上班下班,以及請假、出差等信息。輸出:職工考勤情況。(用戶對相關(guān)職工的查詢結(jié)果和報表)(4) 安全保密系統(tǒng)對不同權(quán)限的用戶提供不同的功能模塊,對歷史數(shù)據(jù)的更改和新數(shù)據(jù)的添加只有一定權(quán)限的用戶才能操作,一般用戶只能進行查詢操作。對數(shù)據(jù)庫的關(guān)鍵數(shù)據(jù)應(yīng)要求保密。系統(tǒng)默認管理員登陸信
12、息:帳號admin密碼admin2.3系統(tǒng)分析部分2.3.1業(yè)務(wù)流程圖2.3.2數(shù)據(jù)流程圖圖2-2頂層數(shù)據(jù)流程圖用戶信息.上班時間.工作狀態(tài)普通用戶圖2-3一層數(shù)據(jù)流程圖上班時間上班時間設(shè)置2.3.3 E-R 圖圖2-5E-R圖PM管理屬于查詢NNN1登記11NiiN出差單員工上班單請假單管理員部門名字:上班時間數(shù)據(jù)描述:關(guān)于每日上班時間的信息,用于員工對上班時間的確認定義:上班時間數(shù)據(jù)二上午工作開始時間+上午工作離開時間+下午工作開始時間+下午工作離開時間位置:輸入到上班時間表名字:部門數(shù)據(jù)描述:部門的信息,用于對部門的確認定義:部門資料數(shù)據(jù)二部門代號+部門名稱位置:輸入到部門表名字:上班類
13、型數(shù)據(jù)描述:上班類型的信息,用于對員工上班時間類型的確認定義:上班類型數(shù)據(jù)二類型代號+類型名稱位置:輸入到上班類型表名字:個人資料數(shù)據(jù)描述:職工的個人信息,用于對職工的確認定義:個人資料數(shù)據(jù)=員工ID+員工姓名+員工性別+出生日期+職務(wù)+個人工作資料檔案位置:輸入到員工表名字:職工列表數(shù)據(jù)描述:職工的部門信息,用于對職工部門的確認定義:職工列表數(shù)據(jù)二員工ID+員工姓名+部門代碼+部門名稱+員工類別+員工職位+查詢密碼位置:輸入到部門表、用戶表名字:考勤數(shù)據(jù)描述:職工的考勤信息定義:考勤數(shù)據(jù)=員工ID+年月+遲到+早退+請假+曠工位置:輸入到請假表、上班表、出差表名字:操作用戶表別名:操作用戶信
14、息描述:是對使用本系統(tǒng)的用戶進行 身份和權(quán)限驗證用的定義:用戶名+密碼+所屬單位+權(quán) 限一 +權(quán)5M二十操作員位置:所后表單名字:權(quán)限一別名: 描述:標(biāo)識本系統(tǒng)的用戶對本系統(tǒng)定義:管理權(quán)使用權(quán)限權(quán)限一 二5字符5位置:用戶表名字:用戶名別名:描述:惟一標(biāo)識本系統(tǒng)的用戶身份定義:用戶名=5字符5名字:密碼別名:描述:驗證本系統(tǒng)的用戶身份定義:密碼=5字符5位置:用戶表名字:權(quán)限二別名:描述:標(biāo)識本系統(tǒng)的用戶對本系統(tǒng)登記權(quán)的使用權(quán)限定義:權(quán)限二二5字符5位置:用戶表第三章信息系統(tǒng)設(shè)計3.1功能結(jié)構(gòu)圖設(shè)計圖3-1功能結(jié)構(gòu)圖3.2輸入輸出設(shè)計表3-3員工下班名稱、標(biāo)識符下班輸入輸入部門、姓名,點擊上班
15、輸出提示卜班成功信息表3-4修改密碼名稱、標(biāo)識符修改密碼輸入管理員輸入用戶名、原始密碼、新設(shè)定的密碼輸出提示修改密碼成功信息表3-5申請請假名稱、標(biāo)識符胸皿假輸入輸入請假人姓名、所屬部門、請假時間、請假時長、請假原因輸出提示請假申請已經(jīng)提交信息表3-6申請出差名稱、標(biāo)識符叱出差輸入申請人姓名、所屬部門、出差的開始時間、出差地點、出差原因輸出提示出差申請已經(jīng)提交信息表3-7員工添加名稱、標(biāo)識符添加員工輸入輸入部門、姓名、性別、年齡、進公司時間、個人密碼輸出提示添加已完成表3-8部門添加名稱、標(biāo)識符音B門添力口輸入輸入部門名稱輸出提示添加已完成表3-9上下班時間設(shè)定名稱、標(biāo)識符上、下班時間設(shè)定輸入
16、上、下班時間輸出提示設(shè)置成功3.3數(shù)據(jù)庫結(jié)構(gòu)設(shè)計3.3.1 概念設(shè)計數(shù)據(jù)庫一般分為三級模式:外模式、概念模式和內(nèi)模式在這里我們將要設(shè)計的是數(shù)據(jù)庫的概念模式。通過對職工出勤管理系統(tǒng)的內(nèi)容和數(shù)據(jù)流程分析及E-R圖,設(shè)計如下數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu):1 .部門信息。包括部門編號、部門名稱、部門人數(shù)等。2 .超級用戶信息。包括用戶名、密碼、姓名、性別、出生日期、籍貫等。3 .普通用戶信息。包括編號、部門名稱、姓名、性別、出生日期、籍貫等信息。4 .考勤信息。包括序列號、編號、簽到時間、簽離時間等信息。5 .員工狀態(tài)。包括員工請假、出差、早退、遲到、上班。6 .考勤歷史信息。包括記錄號、編號、日期、簽到時間、簽
17、離時間、遲到、缺勤、早退等信息。7 .用戶信息。包括用戶名稱、密碼、所在單位、用戶權(quán)限信息、操作員、最后修改時間。3.3.1邏輯結(jié)構(gòu)設(shè)計設(shè)計根據(jù)職工考勤管理系統(tǒng)的功能要求,選取SQLServer2000作為后臺數(shù)據(jù)庫。在上面的實體和實體之間的E-R圖設(shè)計基礎(chǔ)上,將ER圖轉(zhuǎn)化為關(guān)系模型,形成數(shù)據(jù)庫中的表格及表格之間的關(guān)系。該數(shù)據(jù)庫由5個表組成,部門表、超級用戶表、用戶表、考勤表、考勤歷史表。分別如下表所示:表3-10出差表名稱字段為空性備注部門代號departmentId數(shù)字否員工IDworkerld數(shù)字否出差時間ccTime日期/時間否出差地點ccArea文本是出差天數(shù)ccLength數(shù)字是登
18、記時間dcTime日期/時間是銷差時間xcTime日期/時間是出差備注ccContent文本是表3-11部門表名稱字段為空性備注部門代號departmentId數(shù)字否唯一表示部門部門名稱departmentName文本否部門名稱表3-12請假表名稱字段封為空性備注部門代號departmentId數(shù)字否員工IDworkerld數(shù)字否請假時間qjTime日期/時間否請假天數(shù)qjLength數(shù)字是登記時間djTime日期/時間是請假原因qjReason文本是銷假時間nxjTime日期/時間是是否曠工ynKg是/否是表3-13上班表名稱字段為空性備注部門代號departmentId數(shù)字否員工IDwor
19、kerId數(shù)字否工作日期workday日期/時間:否上午上班時間mstartTime日期/時間是下午上班時間astartTime日期/時間是上午卜班時間mleaveTime日期/時間是下午卜班時間aleaveTime日期/時間是上班類型1workmsType數(shù)字是存放工作類型表中的typeId0:正常上班1:請假2:出差3:早退4:遲到上班類型2workmlType數(shù)字是默認彳1為0,作為是否已經(jīng)登記的標(biāo)記上班類型3workasType數(shù)字是默認彳1為0,作為是否已經(jīng)登記的標(biāo)記上班類型4workalType數(shù)字是默認彳1為0,作為是否已經(jīng)登記的標(biāo)記表3-14用戶表名稱字段為空性備注用戶名use
20、rname文本否密碼password文本否真實姓名realname文本否注冊時間regtime日期/時間否權(quán)限permission數(shù)字否0:管理員1:普通用戶表3-15員工表名稱字段為空性備注部門代號departmentId數(shù)字否員工IDworkerId數(shù)字否員工姓名workerName文本是員工性別workerSex文本是員工年齡workerAge數(shù)字是進入公司時間intoCompanyTime日期/時間否員工密碼workerPsw文本否進行出勤輸入的最后驗證表3-16上班時間表名稱字段為空性備注上午工作開始時間mstartTime日期/時間否上午工作離開時間mleaveTime日期/時間否
21、下午工作開始時間astartTime日期/時間否下午工作離開時間aleaveTime日期/時間否表3-17上班類型表名稱字段為空性備注代號typeId數(shù)字否名稱typeName文本是3.4代碼設(shè)計部門代號為兩位數(shù),按照創(chuàng)建時間早晚排行。例如:生產(chǎn)部為第七個創(chuàng)建的部門,所以他的編號為07。員工ID一共分成6位,前兩位表示部門代號,中間兩位表示進入部門年份,后兩位表示員工編號。例如:婁京兆是2013年生產(chǎn)部招收的第一位員工,那么他的ID就是071301。上班類型代號為一位數(shù),按照上班類型分為五類,0:正常上班1:請假2:出差3:早退4:遲到第四章信息系統(tǒng)實施4.1源程序4.1.1添加用戶Dimm_
22、clsUserAsclsUserPrivateSubcmdReg_Click()Setm_clsUser=NewclsUserm_clsUser.DoAddUsertxtUserName,txtPassword,txtPasswordConfirm,txtRealName,comboPermission,txtRegTime,frmAddUserEndSubPrivateSubForm_Load()comboPermission.AddItem"管理員",0comboPermission.AddItem"普通用戶",1comboPermission.Li
23、stIndex=0EndSubPrivateSubcmdClose_Click()UnloadMeEndSub4.1.2修改密碼Dimm_clsUserAsclsUserPrivateSubcmdChPwdOk_Click()Setm_clsUser=NewclsUserm_clsUser.DoChPwdtxtChUser,txtOldPwd,txtNewPwd,txtNewPwdagain,frmChPwdEndSubPrivateSubForm_Load()EndSubPrivateSubcmdChPwdCancel_Click()UnloadMeEndSub4.1.3出差情況Dimstr
24、SqlAsStringDimrsAsNewRecordsetPrivateSubcboDept_Click()cboName.ClearstrSql="Select*fromTWorkerwheredepartmentId="&cboDept.ItemData(cboDept.ListIndex)&"orderbyworkerId"Setrs=TransactSQL(strSql)DoWhileNotrs.EOFcboName.AddItem(rs.Fields(2).Value)cboName.ItemData(cboName.NewI
25、ndex)=rs.Fields(1).Valuers.MoveNextLooprs.ClosecboName.ListIndex=0cboName.RefreshEndSubPrivateSubcmdPrint_Click()SetdrChuChai.DataSource=adodcChuChai.RecordsetdrChuChai.Sections(1).Controls(1).Caption="drChuChai.Sections(2).Controls(1).Caption="drChuChai.Sections(2).Controls(2).Caption=&qu
26、ot;drChuChai.Sections(2).Controls(3).Caption="drChuChai.Sections(2).Controls(4).Caption="drChuChai.Sections(2).Controls(5).Caption="drChuChai.Sections(2).Controls(6).Caption="drChuChai.Sections(2).Controls(7).Caption="drChuChai.Sections(2).Controls(8).Caption="drChuChai
27、.Sections(3).Controls(1).DataField=drChuChai.Sections(3).Controls(2).DataField=drChuChai.Sections(3).Controls(3).DataField=drChuChai.Sections(3).Controls(4).DataField=drChuChai.Sections(3).Controls(5).DataField=drChuChai.Sections(3).Controls(6).DataField=drChuChai.Sections(3).Controls(7).DataField=d
28、rChuChai.Sections(3).Controls(8).DataField=drChuChai.Show請假情況統(tǒng)計表"部門名稱"員工名稱"出差時間"出差地點"出差天數(shù)"登記時間"銷差時間"出差備注"部門名稱"員工名稱"出差時間"出差地點"出差天數(shù)"登記時間"銷差時間"出差備注"EndSubPrivateSubcmdQuery_Click()strSql="selecta.departmentNameas部
29、門名稱,b.workerNameas員工名稱,c.ccTimeas出差時間,c.ccAreaas出差地點,c.ccLengthas出差天數(shù),c.dcTimeas登記時間,c.xcTimeas銷差時間,c.ccContentas出差備注fromTDepartmenta,TWorkerb,TChuChaicwhereb.departmentId="&cboDept.ItemData(cboDept.ListIndex)&"andb.workerId="&cboName.ItemData(cboName.ListIndex)&"
30、anda.departmentId=b.departmentIdandb.departmentId=c.departmentIdandb.workerId=c.workerIdandc.ccTimebetween#"&dtpStartDate&"#and#"&dtpEndDate&"#"ConnectToDBRefushDataGridadodcChuChai,dgChuChai,strSqlDisConnectEndSubPrivateSubForm_Load()strSql="Select*from
31、TDepartmentorderbydepartmentId"Setrs=TransactSQL(strSql)DoWhileNotrs.EOFcboDept.AddItem(rs.Fields(1).Value)cboDept.ItemData(cboDept.NewIndex)=rs.Fields(0).Valuers.MoveNextLooprs.ClosecboDept.ListIndex=0cboDept.RefreshEndSub4.1.4 添加部門DimdepartIdAsIntegerDimdepartNameAsStringIftxtbmName.Text=&quo
32、t;"ThenMsgBox"部門名稱不能有空值"ExitSubElsedepartId=Trim(txtaddbmId.Text)departName=Trim(txtbmName.Text)strSql="insertintoTDepartment(departmentId,departmentName)values("_&departId&",'"&departName&"')"TransactSQL(strSql)MsgBox"添加成功&qu
33、ot;EndIfEndSubPublicSubinit()txtbmName.Text=""num=0strSql="select*fromTDepartmentorderbydepartmentId"Setrs=TransactSQL(strSql)IfNotrs.EOFAndNotrs.BOFThenrs.MoveLastnum=rs(0)num=num+1Me.txtaddbmId.Text=CStr(num)ElseMe.txtaddbmId.Text=1EndIfEndSubPrivateSubcmdreadd_Click()CallinitE
34、ndSubPrivateSubForm_Load()num=0strSql="select*fromTDepartmentorderbydepartmentId"Setrs=TransactSQL(strSql)IfNotrs.EOFAndNotrs.BOFThenrs.MoveLastnum=rs(0)num=num+1Me.txtaddbmId.Text=CStr(num)ElseMe.txtaddbmId.Text=1EndIfEndSub4.1.5 部門管理DimstrSqlAsStringDimRowNumberAsIntegerPrivateSubcmdadd_
35、Click()frmDepAdd.ShowvbModalEndSubPrivateSubcmddel_Click()IfConnectToDB()=FalseThenMsgBox"數(shù)據(jù)庫連接失敗!"ExitSubEndIfIfMsgBox("你真的要刪除嗎",vbInformation+vbYesNo,App.Title)=vbYesThenstrSql="deletefromTDepartmentwheredepartmentId="&RowNumberTransactSQL(strSql)DisConnectMsgBox&
36、quot;刪除成功",vbInformation,App.TitlestrSql="selectdepartmentIdas部門編號,departmentNameas部門名稱fromTDepartment"RefreshDataadodcDepManage,dgDepManage,strSqlExitSubEndIfEndSubPrivateSubcmdUpdate_Click()IfRowNumber=-1ThenMsgBox"請先選擇要修改的數(shù)據(jù)!"ExitSubEndIffrmDepUpdate.ShowvbModalEndSubPriv
37、ateSubComselect_Click()Dimm_txtdepartIDAsStringDimm_txtdepartNameAsStringm_txtdepartID=Trim(txtDepartId.Text)m_txtdepartName=Trim(txtDepartName.Text)If(m_txtdepartID=""Andm_txtdepartName="")ThenstrSql="selectdepartmentIdas部門編號,departmentNameas部門名稱fromTDepartment"ElseIf(
38、m_txtdepartID<>""Andm_txtdepartName<>"")ThenstrSql="selectdepartmentIdas部門編號,departmentNameas部門名稱"_&"fromTDepartmentwheredepartmentId="&m_txtdepartID&"anddepartmentNamelike'%"&m_txtdepartName&"%'"Else
39、If(m_txtdepartID<>"")ThenstrSql="selectdepartmentIdas部門編號,departmentNameas部門名稱fromTDepartmentwheredepartmentId="&m_txtdepartIDElseIfm_txtdepartName<>""ThenstrSql="selectdepartmentIdas部門編號,departmentNameas部門名稱"_&"fromTDepartmentwheredep
40、artmentNamelike'%"&m_txtdepartName&"%'"EndIfRefreshDataadodcDepManage,dgDepManage,strSqlEndSubPrivateSubdgDepManage_Click()OnErrorGoToShowErr:IfIsNull(dgDepManage.Bookmark)ThenRowNumber=-1ExitSubElseRowNumber=dgDepManage.Columns("0").CellValue(dgDepManage.Boo
41、kmark)EndIffrmDepUpdate.SetRowNumberRowNumberShowErr:ExitSubEndSubPrivateSubdgDepManage_DblClick()OnErrorGoToShowErr:IfIsNull(dgDepManage.Bookmark)ThenRowNumber=-1ExitSubElseRowNumber=dgDepManage.Columns("0").CellValue(dgDepManage.Bookmark)EndIffrmDepUpdate.SetRowNumberRowNumberfrmDepUpdat
42、e.ShowvbModalShowErr:ExitSubEndSubPrivateSubForm_Load()RowNumber=-1EndSub4.1.6 更新部門OptionExplicitDimstrSqlAsStringDimrsDepAsNewADODB.RecordsetDimm_irownumberAsIntegerDimm_iDepartIdAsIntegerDimm_strDepartNameAsStringPrivateSubcmdOk_Click()IftxtDepartName.Text=""ThenMsgBox"登記項目不能有空值&quo
43、t;ExitSubElsem_iDepartId=CInt(txtDepartId.Text)m_strDepartName=Trim(txtDepartName.Text)strSql="updateTDepartmentsetdepartmentName='&m_strDepartName&"'wheredepartmentId="&m_iDepartIdIfConnectToDB()=FalseThenMsgBox"數(shù)據(jù)庫連接失敗!"ExitSubEndIfTransactSQL(strSql)Ms
44、gBox"修改成功"cmdok.Enabled=FalseDisConnectstrSql="selectdepartmentIdas部門編號,departmentNameas部門名稱fromTDepartment"RefreshDatafrmDepManage.adodcDepManage,frmDepManage.dgDepManage,strSqlEndIfEndSubPrivateSubForm_Load()m_iDepartId=GetRowNumberIfConnectToDB()=FalseThenMsgBox"數(shù)據(jù)庫連接失敗!&
45、quot;ExitSubEndIfstrSql="select*fromTDepartmentwheredepartmentId="&m_iDepartIdSetrsDep=TransactSQL(strSql)txtDepartId.Text=rsDep.Fields(0)txtDepartId.RefreshtxtDepartName.Text=rsDep.Fields(1)txtDepartName.RefreshtxtDepartId.Enabled=FalseDisConnectEndSubPublicFunctionSetRowNumber(ByValp
46、_irownumberAsInteger)m_irownumber=p_irownumberEndFunctionPublicFunctionGetRowNumber()AsIntegerGetRowNumber=m_irownumberEndFunction4.1.7員工考勤登記DimstrSqlAsStringDimrsAsNewADODB.RecordsetDimtodayAsStringDimqjLengthAsDoubleDimqjTimeAsStringDimdjTimeAsStringDimqjReasonAsStringDimccLengthAsDoubleDimccTimeA
47、sStringDimdcTimeAsStringDimccAreaAsStringDimccContentAsStringDimnowtimeAsStringPrivateSubcboDept_Click()cboName.ClearstrSql="Select*fromTWorkerwheredepartmentId="&cboDept.ItemData(cboDept.ListIndex)&"orderbyworkerId"Setrs=TransactSQL(strSql)DoWhileNotrs.EOFcboName.AddItem
48、(rs.Fields(2).Value)cboName.ItemData(cboName.NewIndex)=rs.Fields(1).Valuers.MoveNextLooprs.ClosecboName.ListIndex=0cboName.RefreshEndSubPrivateSubcboYourDepCC_Click()cboYourNameCC.ClearstrSql="Select*fromTWorkerwheredepartmentId="&cboYourDepCC.ItemData(cboYourDepCC.ListIndex)&"
49、;orderbyworkerIdSetrs=TransactSQL(strSql)DoWhileNotrs.EOFcboYourNameCC.AddItem(rs.Fields(2).Value)cboYourNameCC.ItemData(cboYourNameCC.NewIndex)=rs.Fields(1).Valuers.MoveNextLooprs.ClosecboYourNameCC.ListIndex=0cboYourNameCC.RefreshEndSubPrivateSubcboYourDepQJ_Click()cboYourNameQJ.ClearstrSql="
50、Select*fromTWorkerwheredepartmentId="&cboYourDepQJ.ItemData(cboYourDepQJ.ListIndex)&"orderbyworkerId"Setrs=TransactSQL(strSql)DoWhileNotrs.EOFcboYourNameQJ.AddItem(rs.Fields(2).Value)cboYourNameQJ.ItemData(cboYourNameQJ.NewIndex)=rs.Fields(1).Valuers.MoveNextLooprs.ClosecboYou
51、rNameQJ.ListIndex=0cboYourNameQJ.RefreshEndSubPrivateSubcmdOk_Click()DimpswAsStringDimworktypeAsIntegerDimworkerPswAsStringDimpwdCountAsIntegerpwdCount=0DimdepartIdAsIntegerDimworkerIdAsIntegerdepartId=cboDept.ItemData(cboDept.ListIndex)workerId=cboName.ItemData(cboName.ListIndex)strSql="select
52、workerPswfromTWorkerwheredepartmentId="&departId&"andworkerId="&workerIdSetrs=TransactSQL(strSql)Ifrs.EOF=FalseThenworkerPsw=rs.Fields(0)EndIfIfFrame1.Visible=TrueThenIfoptmstart.Value=TrueThenIfMsgBox("確定要"&optmstart.Caption&"么?",vbOKCancel)=vb
53、OKThenpsw=InputBox("請輸入員工密碼:","輸入密碼")IfyanzhengPWD(labwelcome,psw,workerPsw)=FalseThenExitSublabwelcome.Visible=FalseElseCallgetTimeIfDateDiff("s",nowtime,mstart)>=0Thenworktype=6Elseworktype=4EndIfIfyanzheng(departId,workerId,today)ThenMsgBox"你已經(jīng)上班,不必再登記!"
54、ElsestrSql="insertintoTShangBan(departmentId,workerId,workday,mstartTime,workmsType)"&_"values("&departId&","&workerId&",#"&today&"#,#"&nowtime&"#,"&worktype&")"TransactSQL(strSql)cmdok.
55、Enabled=Falselabwelcome.Visible=Truelabwelcome.Caption="歡迎"&cboName.Text&optmstart.Caption&",祝你今天上午工作愉快!"MsgBox"登記成功!"EndIfEndIfElseMsgBox"不登記"EndIfElseIfMsgBox("確定要"&optmleave.Caption&"么?",vbOKCancel)=vbOKThenpsw=InputB
56、ox("請輸入員工密碼:","輸入密碼")IfyanzhengPWD(labwelcome,psw,workerPsw)=FalseThenExitSublabwelcome.Visible=FalseElseCallgetTimeIfDateDiff("s",nowtime,mleave)<=0Thenworktype=6Elseworktype=3EndIfIfyanzheng(departId,workerId,today)ThenIfmlrecord(departId,workerId,today)ThenstrSql=
57、"updateTShangBansetworkmlType="&worktype&",mleaveTime='"&nowtime&"'wheredepartmentId="&departId&"andworkerId="&workerId&"andworkday=#"&today&"#"TransactSQL(strSql)cmdok.Enabled=Falselabwelcome
58、.Visible=Truelabwelcome.Caption=""&cboName.Text&optmleave.Caption&",祝你生活幸福!"MsgBox"登記成功!"ElseMsgBox"你已經(jīng)下班,不必再登記!"EndIfElseMsgBox"對不起,你還沒有上班,請先上班!",vbOKOnly+vbExclamation,"請遵守公司上下班秩序"EndIfEndIfElseMsgBox"不登記"EndIfEndIfElseIfoptastart(0).Value=TrueThenIfMsgBox("確定要"&optastart(0).Caption&"么?",vbOKCancel)=vbOKThenpsw=InputBox("請輸入員工密碼:","
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 7.2萬有引力定律+課件+高一下學(xué)期物理人教版(2019)必修第二冊
- 郵件系統(tǒng)性能評估
- 優(yōu)化施工方案提升硫化床鍋爐施工效率
- 企業(yè)在線內(nèi)訓(xùn)課件
- 財務(wù)培訓(xùn)與財務(wù)管理能力提升合同
- 綠色建筑材料采購合同擔(dān)保公司環(huán)保協(xié)議
- 經(jīng)理股權(quán)分紅方案
- 金融產(chǎn)品設(shè)計與財務(wù)風(fēng)險評估合同
- 食品生產(chǎn)售后保障方案
- 社區(qū)樓宇封控方案
- 部編五年級道德與法治教學(xué)反思
- 考勤離職管理制度內(nèi)容
- 煤層氣采輸技術(shù)基礎(chǔ)知識單選題100道及答案
- 2024五人合伙健康產(chǎn)業(yè)投資合作協(xié)議模板3篇
- 半導(dǎo)體物理(I)知到智慧樹章節(jié)測試課后答案2024年秋西安電子科技大學(xué)
- 《電源管理芯片的測試方法》
- 中建質(zhì)量樣板策劃實施方案
- 網(wǎng)評員隊伍培訓(xùn)
- 三年級語文下冊 試題 期末測試卷(基礎(chǔ)1)(含答案)(部編版)
- 不良事件半年總結(jié)
- 國家開放大學(xué)電大本科《工程經(jīng)濟與管理》2023-2024期末試題及答案(試卷代號:1141)
評論
0/150
提交評論