考勤管理系統(tǒng)實驗報告_第1頁
考勤管理系統(tǒng)實驗報告_第2頁
考勤管理系統(tǒng)實驗報告_第3頁
考勤管理系統(tǒng)實驗報告_第4頁
考勤管理系統(tǒng)實驗報告_第5頁
已閱讀5頁,還剩68頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目錄TOC o 1-3 h z u HYPERLINK l _Toc360709632 第一章信息系統(tǒng)概況 PAGEREF _Toc360709632 h 4 HYPERLINK l _Toc360709633 1.1 選題介紹 PAGEREF _Toc360709633 h 4 HYPERLINK l _Toc360709634 1.2 課程設計小組基本情況介紹 PAGEREF _Toc360709634 h4 HYPERLINK l _Toc360709635 1.2.1課程設計小組成員的基本情況介紹 PAGEREF _Toc360709635 h 4 HYPERLINK l _Toc36

2、0709636 1.2.2課程設計小組前期的準備情況 PAGEREF _Toc360709636 h 5 HYPERLINK l _Toc360709637 1.2.3課程設計小組各成員所承擔的課程設計的任務 PAGEREF _Toc360709637 h 5 HYPERLINK l _Toc360709638 第二章信息系統(tǒng)分析 PAGEREF _Toc360709638 h 6 HYPERLINK l _Toc360709639 2.1 可行性分析 PAGEREF _Toc360709639 h 6 HYPERLINK l _Toc360709640 2.1.1 技術可行性分析 PAGER

3、EF _Toc360709640 h 6 HYPERLINK l _Toc360709641 2.1.3 社會因素可行性分析 PAGEREF _Toc360709641 h 7 HYPERLINK l _Toc360709642 2.1.4 可行性分析結論 PAGEREF _Toc360709642 h 7 HYPERLINK l _Toc360709643 2.2 客戶需求分析 PAGEREF _Toc360709643 h 7 HYPERLINK l _Toc360709644 2.3 系統(tǒng)分析部分 PAGEREF _Toc360709644 h 9 HYPERLINK l _Toc360

4、709645 2.3.1 業(yè)務流程圖 PAGEREF _Toc360709645 h 9 HYPERLINK l _Toc360709646 2.3.2 數(shù)據(jù)流程圖 PAGEREF _Toc360709646 h 9 HYPERLINK l _Toc360709647 2.3.3 E-R圖 PAGEREF _Toc360709647 h 11 HYPERLINK l _Toc360709648 2.3.4 數(shù)據(jù)字典 PAGEREF _Toc360709648 h 12 HYPERLINK l _Toc360709650 第三章信息系統(tǒng)設計 PAGEREF _Toc360709650 h 14

5、HYPERLINK l _Toc360709651 3.1 功能結構圖設計 PAGEREF _Toc360709651 h 14 HYPERLINK l _Toc360709652 3.2 輸入輸出設計 PAGEREF _Toc360709652 h 14 HYPERLINK l _Toc360709653 3.3 數(shù)據(jù)庫結構設計 PAGEREF _Toc360709653 h 15 HYPERLINK l _Toc360709654 3.3.1 概念設計 PAGEREF _Toc360709654 h 15 HYPERLINK l _Toc360709655 3.3.1 邏輯結構設計設計 P

6、AGEREF _Toc360709655 h 16 HYPERLINK l _Toc360709656 3.4 代碼設計 PAGEREF _Toc360709656 h 18 HYPERLINK l _Toc360709657 第四章信息系統(tǒng)實施 PAGEREF _Toc360709657 h 19 HYPERLINK l _Toc360709658 4.1 源程序 PAGEREF _Toc360709658 h 19 HYPERLINK l _Toc360709659 4.1.1 添加用戶 PAGEREF _Toc360709659 h 19 HYPERLINK l _Toc36070966

7、0 4.1.2 修改密碼 PAGEREF _Toc360709660 h 19 HYPERLINK l _Toc360709661 4.1.3 出差情況 PAGEREF _Toc360709661 h 19 HYPERLINK l _Toc360709662 4.1.4 添加部門 PAGEREF _Toc360709662 h 21 HYPERLINK l _Toc360709663 4.1.5 部門管理 PAGEREF _Toc360709663 h 22 HYPERLINK l _Toc360709664 4.1.6 更新部門 PAGEREF _Toc360709664 h 24 HYPE

8、RLINK l _Toc360709665 4.1.7 員工考勤登記 PAGEREF _Toc360709665 h 25 HYPERLINK l _Toc360709666 4.1.8 請假情況 PAGEREF _Toc360709666 h 37 HYPERLINK l _Toc360709667 4.1.9 上班時間設置 PAGEREF _Toc360709667 h 38 HYPERLINK l _Toc360709668 4.1.10 上班情況 PAGEREF _Toc360709668 h 39 HYPERLINK l _Toc360709669 4.1.11 用戶登入 PAGER

9、EF _Toc360709669 h 41 HYPERLINK l _Toc360709670 4.1.12 添加員工 PAGEREF _Toc360709670 h 41 HYPERLINK l _Toc360709671 4.1.13 員工管理 PAGEREF _Toc360709671 h 44 HYPERLINK l _Toc360709672 4.1.14 修改員工 PAGEREF _Toc360709672 h 47 HYPERLINK l _Toc360709673 4.1.15 主界面 PAGEREF _Toc360709673 h 49 HYPERLINK l _Toc360

10、709674 4.3 模擬運行數(shù)據(jù) PAGEREF _Toc360709674 h 52 HYPERLINK l _Toc360709675 4.4 系統(tǒng)使用說明書 PAGEREF _Toc360709675 h 55 HYPERLINK l _Toc360709676 第五章參考書籍 PAGEREF _Toc360709676 h 56第一章 信息系統(tǒng)概況1.1 選題介紹當今社會,計算機已經(jīng)十分普及,性能也日趨完善。它已經(jīng)被應用于許多領域。比如說,小到圖書館的圖書管理,超市或網(wǎng)吧的收費管理,KTV的點歌系統(tǒng),大到航空、鐵路的售票,全國人口戶籍的管理等等。隨著現(xiàn)代科技的進步,用計算機來進行考勤

11、的管理也成為現(xiàn)代化企業(yè)運作必不可少的一部分。在過去我們的考勤工作都是人工完成的,不僅浪費了很多的人力跟物力,而且無法保證其準確性和透明度,給企業(yè)的管理帶來了許多的不便?,F(xiàn)在利用計算機來管理我們的考勤工作,大大降低了工作人員的工作量,提高了工作效率,使原本復雜和枯燥無味的工作變得簡單而輕松了,而且也實用、安全。計算機技術特別是數(shù)據(jù)庫技術的發(fā)展為企業(yè)建立管理信息系統(tǒng),甚至對改變管理思想起著不可估量的作用。實踐證明信息技術已在企業(yè)的管理層面扮演越來越重要的角色。通過考勤系統(tǒng)我們能很容易地對公司員工的信息有一個基本的了解,可以很方便地知道員工的出勤情況,通過對員工出勤信息的了解,就能計算出員工的實際工

12、資。一切的統(tǒng)計和計算都由計算機代為管理了,考勤信息管理系統(tǒng)對企業(yè)的合理化管理起到了很大的作用,它為企業(yè)信息化的建設打響了頭炮,而企業(yè)的信息化建設已成為現(xiàn)代各個企業(yè)發(fā)展的需要。所以說,考勤管理系統(tǒng)的開發(fā)具有非常重要的意義。第二章 信息系統(tǒng)分析2.1 可行性分析目前,計算機在我國的考勤管理工作中,主要可用來進行報表處理,檔案管理,文書編輯,信息查詢,綜合分析。查詢統(tǒng)計作為考勤管理的一個重要組成部分,是通過對考勤情況的調(diào)查,整理和分析,了解考勤情況的發(fā)展趨勢,為各級領導機關制定考出勤的方針,政策,加強干部管理,改革干部制度提供準確數(shù)字的依據(jù)。其工作除涉及到干部的基本情況統(tǒng)計之外,還包括職工的工資統(tǒng)計

13、,職工的考勤情況統(tǒng)計,職工的獎懲情況統(tǒng)計,職工的出差情況統(tǒng)計,職工的請假情況統(tǒng)計等方面,其涉及的面之廣,數(shù)據(jù)量之大可想而知,若利用手工進行考勤的統(tǒng)計工作,大致要經(jīng)過考勤統(tǒng)計查詢,考勤的統(tǒng)計資料的整理,考勤統(tǒng)計分析三個過程,但這種手工統(tǒng)計過程,存在著幾個明顯的問題,比如說統(tǒng)計資料缺乏準確性,及時性,需要花費大量的人力,物力,財力等。手工方法所表現(xiàn)出來的種種劣勢,使人們慢慢意識到管理現(xiàn)代化已成為當代社會發(fā)展的一股不可抗拒的洪流。在管理現(xiàn)代化的浪潮中,考勤管理現(xiàn)代化也勢在必行。實現(xiàn)考勤管理現(xiàn)代化是一個復雜的系統(tǒng)工程,需要采取科學的管理方法和先進的科技手段。科學的管理方法在管理中一般是指數(shù)學方法、系統(tǒng)

14、方法、信息方法、控制論方法、社會學方法、心理學方法等科學方法,而先進的科技手段主要是運用當代最新科學技術之一的電子計算機來為考勤管理現(xiàn)代化服務。而且一個完善的考勤系統(tǒng)應做到以下幾點: 提高了考勤管理效率,減輕勞動強度; 提高信息處理速度和準確性; 為考勤負責人提供更方便、科學的服務項目2.1.1 技術可行性分析系統(tǒng)開發(fā)環(huán)境: Windows xp sp3 + vs2005 + sqlserver2000技術已經(jīng)比較成熟,和其他應用開發(fā)語言比起來有很大的優(yōu)勢,所以利用這些技術是完全可以完成這些功能的。同時由于邏輯不是太復雜,估計可以按時完成此項目??记诠芾硐到y(tǒng)是工作主要是在職工和管理都有之間架起

15、一座橋梁,能相互溝通信息和處理信息。這一特點非常適合計算機特點,通過網(wǎng)絡internet技術,發(fā)揮計算機的信息傳輸速度快、準確度高的優(yōu)勢。計算機硬件和軟件技術的飛速發(fā)展,為系統(tǒng)的建議提供了技術條件。2.1.2 經(jīng)濟可行性分析(1) 支出A、在基建投資上,只需要配置一臺DELL服務器,大概2萬左右;B、軟件設計和開發(fā)費用:2.5萬元C、經(jīng)常性指出:(主要是指軟件的維護費用)(2) 收益進一步實現(xiàn)辦公自動化,減少人力投資和辦公費用,極大提高辦公效率,同時更好地控制考勤制度,降低成本。(3) 投資回收周期根據(jù)經(jīng)驗算法,收益的累計數(shù)開始超過支出的累計數(shù)的時間為1年。2.1.3 社會因素可行性分析對所建

16、議系統(tǒng)的社會因素方面的可行性分析:(1)法律可行性新系統(tǒng)的研制和開發(fā),所有軟件都選用正版,將不會侵犯他、集體和國家的利益,不會違反國家政策和法律。(2)使用方面的可行性由于新系統(tǒng)的客戶端只要求用瀏覽器,管理者與人員完全有能力使用此系統(tǒng),并且新系統(tǒng)的研制和開發(fā)是充分考慮工作人員對考勤的易于管理,提高工作效率,界面友好,操作簡單方便,能完全滿足職工的使用要求。對傳統(tǒng)管理理念的沖擊,可能引起管理層的變動和人員調(diào)整。對于企業(yè)管理人員的要求提高,使企業(yè)在一定的可能下進行機構精簡,迫使工作人員繼續(xù)學習新知識,拓寬企業(yè)在市場競爭環(huán)境下的生存空間。對于企業(yè)的管理者與職工之間管理方式的轉變和擴充。2.1.4 可

17、行性分析結論結論意見:經(jīng)上述可行性分析,系統(tǒng)研制和開發(fā)可以立即開始進行2.2 客戶需求分析考勤系統(tǒng)應該便于管理者的查詢、修改、更新、統(tǒng)計以及高層管理人員的查詢等操作。能從整體上體現(xiàn)去每個員工每日,每月的出勤情況。基本信息管理包括節(jié)假日日期設置、部門信息管理和員工信息管理。(1) 主要功能a.員工考勤簽到:員工每天上班時需要登陸系統(tǒng)進行簽到,如果當天已經(jīng)簽到了,則不執(zhí)行重復操作!考勤簽退:員工每天下班時需要登陸系統(tǒng)進行簽退,如果當天還沒有簽過到,則不執(zhí)行簽退操作,如果當天還沒有到下班時間,也不執(zhí)行簽退操作! 節(jié)假日查看:員工可以登錄查看節(jié)假日加班安排系統(tǒng)管理:修改自己的密碼, 查看系統(tǒng)簡介.b.

18、管理員員工信息管理:管理員登陸系統(tǒng)后可以添加新的員工信息,可以對現(xiàn)有員工的信息進行修改和查詢!可以刪除某些員工信息,當刪除員工信息時同時將刪除他們的考勤信息職位類別及上下班時間管理:不同的職位類別擁有不同的上下班時間,管理員可以添加新的職位類別,修改已經(jīng)存在的職位類別的名稱和上下班時間,部門信息管理:管理員可以添加和刪除部門信息,當部門下面存在員工信息時不執(zhí)行刪除操作.系統(tǒng)管理:修改自己的登陸密碼,查看系統(tǒng)簡介。節(jié)假日管理:節(jié)假日的設置和查看; (2) 特點 實現(xiàn)了管理員和員工登陸信息的自動判斷!根據(jù)不同的身份顯示不同的功能菜單。程序使用三層架構思想,采用完全面向?qū)ο蟮乃枷敕椒ㄔO計。系統(tǒng)在進行

19、相關操作如刪除員工信息時使用了存儲過程。(3) 數(shù)據(jù)輸入:通過登錄系統(tǒng)輸入職工上班下班,以及請假、出差等信息。輸出:職工考勤情況。(用戶對相關職工的查詢結果和報表)(4) 安全保密系統(tǒng)對不同權限的用戶提供不同的功能模塊,對歷史數(shù)據(jù)的更改和新數(shù)據(jù)的添加只有一定權限的用戶才能操作,一般用戶只能進行查詢操作。對數(shù)據(jù)庫的關鍵數(shù)據(jù)應要求保密。系統(tǒng)默認管理員登陸信息: 帳號admin 密碼admin2.3 系統(tǒng)分析部分2.3.1 業(yè)務流程圖圖2-1 業(yè)務流程圖2.3.2 數(shù)據(jù)流程圖圖2-2 頂層數(shù)據(jù)流程圖圖2-3 一層數(shù)據(jù)流程圖2.3.3E-R圖圖2-5 E-R圖名字:上班時間數(shù)據(jù)描述:關于每日上班時間的

20、信息,用于員工對上班時間的確認定義:上班時間數(shù)據(jù)=上午工作開始時間+上午工作離開時間+下午工作開始時間+下午工作離開時間位置:輸入到上班時間表2.3.4 數(shù)據(jù)字典名字:上班時間數(shù)據(jù)描述:關于每日上班時間的信息,用于員工對上班時間的確認定義:上班時間數(shù)據(jù)=上午工作開始時間+上午工作離開時間+下午工作開始時間+下午工作離開時間位置:輸入到上班時間表名字:部門數(shù)據(jù)描述:部門的信息,用于對部門的確認名字:部門數(shù)據(jù)描述:部門的信息,用于對部門的確認定義:部門資料數(shù)據(jù)=部門代號+部門名稱位置:輸入到部門表名字:上班類型數(shù)據(jù)名字:上班類型數(shù)據(jù)描述:上班類型的信息,用于對員工上班時間類型的確認定義:上班類型數(shù)

21、據(jù)=類型代號+類型名稱位置:輸入到上班類型表名字:個人資料數(shù)據(jù)名字:個人資料數(shù)據(jù)描述:職工的個人信息,用于對職工的確認定義:個人資料數(shù)據(jù)=員工ID+員工姓名+員工性別+出生日期 +職務+個人工作資料檔案位置:輸入到員工表 名字:職工列表數(shù)據(jù)名字:職工列表數(shù)據(jù)描述:職工的部門信息,用于對職工部門的確認定義:職工列表數(shù)據(jù)=員工ID +員工姓名+部門代碼+部門名稱+員工類別+員工職位+查詢密碼位置:輸入到部門表、用戶表名字:考勤數(shù)據(jù)名字:考勤數(shù)據(jù)描述:職工的考勤信息定義:考勤數(shù)據(jù)=員工ID+年月+遲到+早退+請假+曠工 位置:輸入到請假表、上班表、出差表名字:用戶名別名: 名字:用戶名別名: 描述:

22、惟一標識本系統(tǒng)的用戶身份定義:用戶名=5字符5位置:操作用戶表名字:操作用戶表別名:操作用戶信息描述:是對使用本系統(tǒng)的用戶進行身份和權限驗證用的定義:用戶名+密碼+所屬單位+權限一+權限二+操作員位置:所有表單名字:密碼名字:密碼別名: 描述:驗證本系統(tǒng)的用戶身份定義:密碼=5字符5位置:用戶表名字:權限二別名: 描述:標識本系統(tǒng)的用戶對本系統(tǒng)登記權的使用權限定義:權限二=5字符5位置:用戶表名字:權限一別名: 描述:標識本系統(tǒng)的用戶對本系統(tǒng)管理權使用權限定義:權限一=5字符5位置:用戶表第三章 信息系統(tǒng)設計名字:權限二別名: 描述:標識本系統(tǒng)的用戶對本系統(tǒng)登記權的使用權限定義:權限二=5字符

23、5位置:用戶表名字:權限一別名: 描述:標識本系統(tǒng)的用戶對本系統(tǒng)管理權使用權限定義:權限一=5字符5位置:用戶表3.1 功能結構圖設計圖3-1 功能結構圖3.2 輸入輸出設計表3-1 登錄名稱、標識符登錄輸入填寫用戶的ID號和密碼,點擊確認按鈕。輸出提示登錄成功進入系統(tǒng)主頁面表3-2 員工上班名稱、標識符上班輸入選擇部門、姓名,點擊上班輸出提示上班成功信息表3-3 員工下班名稱、標識符下班輸入輸入部門、姓名,點擊上班輸出提示下班成功信息表3-4 修改密碼名稱、標識符修改密碼輸入管理員輸入用戶名、原始密碼、新設定的密碼輸出提示修改密碼成功信息表3-5 申請請假名稱、標識符申請請假輸入輸入請假人姓

24、名、所屬部門、請假時間、請假時長、請假原因輸出提示請假申請已經(jīng)提交信息表3-6 申請出差名稱、標識符申請出差輸入申請人姓名、所屬部門、出差的開始時間、出差地點、出差原因輸出提示出差申請已經(jīng)提交信息表3-7 員工添加名稱、標識符添加員工輸入輸入部門、姓名、性別、年齡、進公司時間、個人密碼輸出提示添加已完成表3-8 部門添加名稱、標識符部門添加輸入輸入部門名稱輸出提示添加已完成表3-9 上下班時間設定名稱、標識符上、下班時間設定輸入上、下班時間輸出提示設置成功3.3 數(shù)據(jù)庫結構設計3.3.1 概念設計數(shù)據(jù)庫一般分為三級模式:外模式、概念模式和內(nèi)模式。在這里我們將要設計的是數(shù)據(jù)庫的概念模式。通過對職

25、工出勤管理系統(tǒng)的內(nèi)容和數(shù)據(jù)流程分析及E-R圖,設計如下數(shù)據(jù)項和數(shù)據(jù)結構:1.部門信息。包括部門編號、部門名稱、部門人數(shù)等。2.超級用戶信息。包括用戶名、密碼、姓名、性別、出生日期、籍貫等。3.普通用戶信息。包括編號、部門名稱、姓名、性別、出生日期、籍貫等信息。4.考勤信息。包括序列號、編號、簽到時間、簽離時間等信息。5.員工狀態(tài)。包括員工請假、出差、早退、遲到、上班。6.考勤歷史信息。包括記錄號、編號、日期、簽到時間、簽離時間、遲到、缺勤、早退等信息。7.用戶信息。包括用戶名稱、密碼、所在單位、用戶權限信息、操作員、最后修改時間。3.3.1 邏輯結構設計設計根據(jù)職工考勤管理系統(tǒng)的功能要求,選取

26、SQLServer 2000作為后臺數(shù)據(jù)庫。在上面的實體和實體之間的E-R圖設計基礎上,將ER圖轉化為關系模型,形成數(shù)據(jù)庫中的表格及表格之間的關系。該數(shù)據(jù)庫由5個表組成,部門表、超級用戶表、用戶表、考勤表、考勤歷史表。分別如下表所示:表3-10出差表名稱字段類型為空性備注部門代號departmentId數(shù)字否員工IDworkerId數(shù)字否出差時間ccTime日期/時間否出差地點ccArea文本是出差天數(shù)ccLength數(shù)字是登記時間dcTime日期/時間是銷差時間xcTime日期/時間是出差備注ccContent文本是表3-11部門表名稱字段類型為空性備注部門代號departmentId數(shù)字否

27、唯一表示部門部門名稱departmentName文本否部門名稱表3-12 請假表名稱字段類型為空性備注部門代號departmentId數(shù)字否員工IDworkerId數(shù)字否請假時間qjTime日期/時間否請假天數(shù)qjLength數(shù)字是登記時間djTime日期/時間是請假原因qjReason文本是銷假時間xjTime日期/時間是是否曠工ynKg是/否是表3-13上班表名稱字段類型為空性備注部門代號departmentId數(shù)字否員工IDworkerId數(shù)字否工作日期workday日期/時間否上午上班時間mstartTime日期/時間是下午上班時間astartTime日期/時間是上午下班時間mleav

28、eTime日期/時間是下午下班時間aleaveTime日期/時間是上班類型1workmsType數(shù)字是存放工作類型表中的typeId 0:正常上班 1:請假 2:出差 3:早退 4:遲到上班類型2workmlType數(shù)字是默認值為0,作為是否已經(jīng)登記的標記上班類型3workasType數(shù)字是默認值為0,作為是否已經(jīng)登記的標記上班類型4workalType數(shù)字是默認值為0,作為是否已經(jīng)登記的標記表3-14用戶表名稱字段類型為空性備注用戶名username文本否密碼password文本否真實姓名realname文本否注冊時間regtime日期/時間否權限permission數(shù)字否0:管理員 1:普

29、通用戶表3-15員工表名稱字段類型為空性備注部門代號departmentId數(shù)字否員工IDworkerId數(shù)字否員工姓名workerName文本是員工性別workerSex文本是員工年齡workerAge數(shù)字是進入公司時間intoCompanyTime日期/時間否員工密碼workerPsw文本否進行出勤輸入的最后驗證表3-16上班時間表名稱字段類型為空性備注上午工作開始時間mstartTime日期/時間否上午工作離開時間mleaveTime日期/時間否下午工作開始時間astartTime日期/時間否下午工作離開時間aleaveTime日期/時間否表3-17 上班類型表名稱字段類型為空性備注類型

30、代號typeId數(shù)字否類型名稱typeName文本是3.4 代碼設計部門代號為兩位數(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 添加用戶Dim m_clsUser As clsUserPrivate Sub cmdReg_Click()Set m_clsUser

31、= 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 M

32、eEnd 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

33、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(

34、1).Value rs.MoveNextLoop rs.Close cboName.ListIndex = 0 cboName.RefreshEnd SubPrivate Sub cmdPrint_Click() Set drChuChai.DataSource = adodcChuChai.Recordset drChuChai.Sections(1).Controls(1).Caption = 請假情況統(tǒng)計表 drChuChai.Sections(2).Controls(1).Caption = 部門名稱 drChuChai.Sections(2).Controls(2).Caption

35、= 員工名稱 drChuChai.Sections(2).Controls(3).Caption = 出差時間 drChuChai.Sections(2).Controls(4).Caption = 出差地點 drChuChai.Sections(2).Controls(5).Caption = 出差天數(shù) drChuChai.Sections(2).Controls(6).Caption = 登記時間 drChuChai.Sections(2).Controls(7).Caption = 銷差時間 drChuChai.Sections(2).Controls(8).Caption = 出差備注

36、 drChuChai.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 = 出差天數(shù) drChuChai.Sections(3).Controls(6).DataField

37、= 登記時間 drChuChai.Sections(3).Controls(7).DataField = 銷差時間 drChuChai.Sections(3).Controls(8).DataField = 出差備注 drChuChai.ShowEnd SubPrivate Sub cmdQuery_Click() strSql = select a.departmentName as 部門名稱 ,b.workerName as 員工名稱,c.ccTime as 出差時間,c.ccArea as 出差地點,c.ccLength as 出差天數(shù),c.dcTime as 登記時間,c.xcTime

38、 as 銷差時間,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 betw

39、een # & 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.It

40、emData(cboDept.NewIndex) = rs.Fields(0).Value rs.MoveNextLoop 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 = i

41、nsert 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

42、 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.B

43、OF 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ù)庫連接失敗!

44、 Exit Sub End If If MsgBox(你真的要刪除嗎, vbInformation + vbYesNo, App.Title) = vbYes Then strSql = delete from TDepartment where departmentId = & RowNumber TransactSQL (strSql) DisConnect MsgBox 刪除成功, vbInformation, App.Title strSql = select departmentId as 部門編號, departmentName as 部門名稱 from TDepartment R

45、efreshData adodcDepManage, dgDepManage, strSql Exit Sub End IfEnd SubPrivate Sub cmdUpdate_Click() If RowNumber = -1 Then MsgBox 請先選擇要修改的數(shù)據(jù)! Exit Sub End If frmDepUpdate.Show vbModalEnd SubPrivate Sub Comselect_Click()Dim m_txtdepartID As StringDim m_txtdepartName As Stringm_txtdepartID = Trim(txtDe

46、partId.Text)m_txtdepartName = Trim(txtDepartName.Text) If (m_txtdepartID = And m_txtdepartName = ) Then strSql = select departmentId as 部門編號, departmentName as 部門名稱 from TDepartment ElseIf (m_txtdepartID And m_txtdepartName ) Then strSql = select departmentId as 部門編號, departmentName as 部門名稱 _ & from

47、 TDepartment where departmentId = & m_txtdepartID & and departmentName like % & m_txtdepartName & % ElseIf (m_txtdepartID ) Then strSql = select departmentId as 部門編號, departmentName as 部門名稱 from TDepartment where departmentId = & m_txtdepartID ElseIf m_txtdepartName Then strSql = select departmentId

48、 as 部門編號, 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 = dgD

49、epManage.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.Bo

50、okmark) 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 Str

51、ingPrivate Sub cmdOk_Click() If txtDepartName.Text = Then MsgBox 登記項目不能有空值 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

52、 MsgBox 數(shù)據(jù)庫連接失敗! Exit Sub End If TransactSQL (strSql) MsgBox 修改成功 cmdok.Enabled = False DisConnect strSql = select departmentId as 部門編號, departmentName as 部門名稱 from TDepartment RefreshData frmDepManage.adodcDepManage, frmDepManage.dgDepManage, strSql End IfEnd SubPrivate Sub Form_Load() m_iDepartId

53、= 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 txtDepar

54、tId.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

55、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= & c

56、boDept.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.MoveNextLoop rs.Close cboName.ListIndex = 0 cboName.RefreshEnd SubPrivate Sub cboYourDepCC_Click()cbo

57、YourNameCC.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) cboYourNameCC.ItemData(cboYourNameCC.NewIndex) = rs.Fields(1).Value rs.Mov

58、eNextLoop rs.Close cboYourNameCC.ListIndex = 0 cboYourNameCC.RefreshEnd SubPrivate Sub cboYourDepQJ_Click()cboYourNameQJ.ClearstrSql = Select * from TWorker where departmentId= & cboYourDepQJ.ItemData(cboYourDepQJ.ListIndex) & order by workerIdSet rs = TransactSQL(strSql) Do While Not rs.EOF cboYour

59、NameQJ.AddItem (rs.Fields(2).Value) cboYourNameQJ.ItemData(cboYourNameQJ.NewIndex) = rs.Fields(1).Value rs.MoveNextLoop rs.Close cboYourNameQJ.ListIndex = 0 cboYourNameQJ.RefreshEnd SubPrivate Sub cmdOk_Click()Dim psw As StringDim worktype As IntegerDim workerPsw As StringDim pwdCount As IntegerpwdC

60、ount = 0Dim departId As IntegerDim workerId As IntegerdepartId = cboDept.ItemData(cboDept.ListIndex)workerId = cboName.ItemData(cboName.ListIndex)strSql = select workerPsw from TWorker where departmentId= & departId & and workerId= & workerIdSet rs = TransactSQL(strSql)If rs.EOF = False Then workerP

溫馨提示

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

評論

0/150

提交評論