版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
VB+SQLserve2000課程設(shè)計(jì)報(bào)告員工工資管理系統(tǒng)姓名:_________班級(jí):________________學(xué)號(hào):____________指導(dǎo)教師:____成績(jī):_____________________完成時(shí)間:2023-12-28完成地點(diǎn):蚌埠學(xué)院TOC\o"1-3"\h\u19359摘要 14783第一章緒論 2118141.1數(shù)據(jù)庫管理系統(tǒng) 253101.2員工工資管理系統(tǒng) 2218031.3開發(fā)工具 36580第二章員工工資管理系統(tǒng)設(shè)計(jì)分析 3213412.1應(yīng)用需求與分析 316682.2系統(tǒng)模塊劃分 3109712.3系統(tǒng)數(shù)據(jù)庫設(shè)計(jì) 410725第三章:企業(yè)工資管理系統(tǒng)應(yīng)用程序設(shè)計(jì) 5144083.1操作流程圖 5152483.2“登錄模塊〞詳細(xì)設(shè)計(jì) 6295863.3“主窗體〞模塊詳細(xì)設(shè)計(jì) 10241713.4各項(xiàng)子模塊詳細(xì)設(shè)計(jì) 1371563.4.1添加用戶與刪除 1312873.4.2修改用戶 15207283.4.3數(shù)據(jù)庫備份和恢復(fù) 17212743.4.4退出 20267493.4.5根本工資 20112423.4.6崗位工資 2246303.4.7部門管理 24237273.4.8員工管理 2667143.4.9發(fā)放工資 2729463.4.10按員工查詢 32297283.4.11按部門查詢 335718模塊一: 3510037模塊二: 3511010第五章:結(jié)束語 3626001謝辭 3726736參考文獻(xiàn): 37摘要企業(yè)的工資管理是公司管理的一個(gè)重要內(nèi)容。隨著企業(yè)人員數(shù)量增加,企業(yè)的工資管理工作也變得越來越復(fù)雜。工資管理既涉及到企業(yè)勞動(dòng)人事的管理,同時(shí)也是企業(yè)財(cái)務(wù)管理的重要組成局部。工資管理需要和人事管理相聯(lián)系,同時(shí)連接工時(shí)考勤和醫(yī)療保險(xiǎn)等等,來生成企業(yè)每個(gè)職工的根本工資、津貼、醫(yī)療保險(xiǎn)、保險(xiǎn)費(fèi)、實(shí)際發(fā)放工資等。資金是企業(yè)生存的主要元素,資金的流動(dòng)影響到企業(yè)的整體運(yùn)作,企業(yè)員工的工資是企業(yè)資金管理的一個(gè)重要的組成局部。早期的工資統(tǒng)計(jì)和發(fā)放都是使用人工方式處理紙質(zhì)材料,不僅花費(fèi)財(cái)務(wù)人員大量的時(shí)間且不易保存,往往由于個(gè)人的因素抄寫不慎或計(jì)算疏忽,出現(xiàn)工資發(fā)放錯(cuò)誤的現(xiàn)象。早期工資管理多采取紙質(zhì)材料和具有較強(qiáng)的時(shí)間限制?;谝陨显?,企業(yè)工資管理系統(tǒng)使用電腦平安保存、快速計(jì)算、全面統(tǒng)計(jì),實(shí)現(xiàn)工資管理的系統(tǒng)化、標(biāo)準(zhǔn)化、自動(dòng)化。企業(yè)工資管理系統(tǒng)是典型的信息管理系統(tǒng)〔MIS〕,前臺(tái)程序開發(fā)工具采用微軟的VB6,后臺(tái)數(shù)據(jù)庫采用sqlserve2000數(shù)據(jù)庫。VB6是一種面向?qū)ο蟮拈_發(fā)工具,具有組件豐富、語言簡(jiǎn)單、功能強(qiáng)大的優(yōu)點(diǎn)。sqlserve2000數(shù)據(jù)庫具有與VB6無縫連接、操作簡(jiǎn)單、易于使用的優(yōu)點(diǎn)。運(yùn)行結(jié)果證明,本企業(yè)工資管理系統(tǒng)極大提高了工作效率,節(jié)省了人力和物力,最終滿足企業(yè)財(cái)務(wù)管理、員工工資發(fā)放的需要,同時(shí)也成為現(xiàn)代化企業(yè)管理的標(biāo)志。第一章緒論1.1數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)〔DBMS〕是指數(shù)據(jù)庫系統(tǒng)中管理數(shù)據(jù)的軟件系統(tǒng)。DBMS是數(shù)據(jù)庫系統(tǒng)的核心組成局部。對(duì)數(shù)據(jù)庫的一切操作,包括定義、更新及各種控制,都是通過DBMS進(jìn)行的。DBMS總是基于某種數(shù)據(jù)模型,可以把DBMS看成是某種數(shù)據(jù)模型在計(jì)算機(jī)系統(tǒng)上的具體實(shí)現(xiàn)。根據(jù)數(shù)據(jù)模型的不同,DBMS可以分成層次型、網(wǎng)狀型、關(guān)系型、面向?qū)ο笮偷取Ssqlserve2000就是一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。關(guān)系模型主要是用二維表格結(jié)構(gòu)表達(dá)實(shí)體集,用外鍵表示實(shí)體間聯(lián)系。關(guān)系模型是由假設(shè)干個(gè)關(guān)系模式組成的集合。關(guān)系模式相當(dāng)于前面提到的記錄類型,每個(gè)關(guān)系實(shí)際上是一張二維表格。關(guān)系模型和層次、網(wǎng)狀模型的最大判別是用關(guān)鍵碼而不是用指針導(dǎo)航數(shù)據(jù),表格簡(jiǎn)單用戶易懂,編程時(shí)并不涉及存儲(chǔ)結(jié)構(gòu),訪問技術(shù)等細(xì)節(jié)。SQL語言是關(guān)系型數(shù)據(jù)庫的標(biāo)準(zhǔn)化語言,已得到了廣泛的應(yīng)用。1.2員工工資管理系統(tǒng)企業(yè)工資管理是一項(xiàng)瑣碎、復(fù)雜而又十分細(xì)致的工作,一般不允許發(fā)生過失。最初的工資統(tǒng)計(jì)和發(fā)放都是使用人工方式處理,工作量大的時(shí)候,出現(xiàn)錯(cuò)誤的機(jī)率也隨之升高,不僅花費(fèi)財(cái)務(wù)人員大量的時(shí)間,而且往往由于抄寫不慎,或者由于計(jì)算的疏忽,出現(xiàn)工資發(fā)放錯(cuò)誤的現(xiàn)象。同時(shí)工資的發(fā)放具有較強(qiáng)的時(shí)間限制,必須嚴(yán)格按照單位規(guī)定的時(shí)間完成計(jì)算和發(fā)放工作。正是企業(yè)工資管理的這種重復(fù)性、規(guī)律性、時(shí)間性,使得企業(yè)工資管理計(jì)算機(jī)化成為可能。企業(yè)工資管理系統(tǒng)就是使用電腦代替大量的人工統(tǒng)計(jì)和計(jì)算,完成眾多企業(yè)工資信息的處理,同時(shí)使用電腦還可以平安地、完整地保存大量的企業(yè)工資記錄。1.3開發(fā)工具微軟公司的VisualBasic6.0是Windows應(yīng)用程序開發(fā)工具,是目前最為廣泛的、易學(xué)易用的面向?qū)ο蟮拈_發(fā)工具。VisualBasic提供了大量的控件,這些控件可用于設(shè)計(jì)界面和實(shí)現(xiàn)各種功能,減少了編程人員的工作量,也簡(jiǎn)化了界面設(shè)計(jì)過程,從而有效的提高了應(yīng)用程序的運(yùn)行效率和可靠性。因此,本系統(tǒng)使用MSVisualBasic6.0開發(fā)。第二章員工工資管理系統(tǒng)設(shè)計(jì)分析2.1應(yīng)用需求與分析根本信息的添加、修改、刪除和查詢。根本信息包括工程類型信息,工程狀態(tài)信息,模塊狀態(tài)信息和缺陷級(jí)別信息等。此功能為工程組管理和軟件工程管理模塊提供數(shù)據(jù)。工程組信息的添加、修改、刪除和查詢。工程組信息包括收員工信息和角色信息。軟件工程管理模塊包括工程根本信息管理、軟件模塊管理和軟件缺陷管理等功能2.2系統(tǒng)模塊劃分開發(fā)這個(gè)系統(tǒng)的目的就是幫助企業(yè)的財(cái)務(wù)主管部門提高工作效率,實(shí)現(xiàn)企業(yè)工資信息管理的系統(tǒng)化、標(biāo)準(zhǔn)化和自動(dòng)化。能夠和認(rèn)識(shí)管理系統(tǒng)、考勤管理系統(tǒng)相結(jié)合,真正實(shí)現(xiàn)企業(yè)高效、科學(xué)、現(xiàn)代化的員工管理。系統(tǒng)最終實(shí)現(xiàn)的主要功能如下?!て髽I(yè)工資信息設(shè)置局部:包括設(shè)置員工的根本工資和其他工程的金額,如獎(jiǎng)金等。·企業(yè)工資信息管理局部:包括統(tǒng)計(jì)出勤、計(jì)算工資、查詢工資和導(dǎo)出工資表?!は到y(tǒng)局部:包括添加用戶和修改密碼。2.3系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫是信息管理系統(tǒng)的后臺(tái),存儲(chǔ)著所有的信息,在信息管理系統(tǒng)中有著很重要的地位。數(shù)據(jù)庫設(shè)計(jì)的好與壞,直接影響到這個(gè)系統(tǒng)的運(yùn)行效率。良好的數(shù)據(jù)庫設(shè)計(jì),可以提高數(shù)據(jù)信息的存儲(chǔ)效率,確保數(shù)據(jù)信息的完整性和一致性。針對(duì)企業(yè)工資信息管理系統(tǒng)的需求,通過對(duì)員工工資計(jì)算過程的內(nèi)容分析,為本系統(tǒng)設(shè)計(jì)如下的數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu):·根本工資信息:包括工資級(jí)別和工資金額?!徫还べY信息:包括工資級(jí)別和工資金額?!すべY信息:包括員工編號(hào)、根本工資、崗位工資、水電費(fèi)、實(shí)發(fā)金額?!げ块T信息:包括部門編號(hào)、部門名稱、部門負(fù)責(zé)人、部門人數(shù)?!すべY統(tǒng)計(jì)信息:包括員工編號(hào)、姓名、出生年月、所屬部門、文化程度、職稱。·用戶信息:包括用戶名、密碼和權(quán)限。員工信息表員工編號(hào)char(8)主鍵,不允許重復(fù)姓名char(8)性別char(2)出生年月datetime所屬部門char(4)外鍵文化程度char(4)職稱char(12)部門信息部門編號(hào)char(4)主鍵,不允許重復(fù)部門名稱char(20)部門負(fù)責(zé)人char(8)部門人數(shù)int根本工資工資級(jí)別char(2)主鍵,不允許重復(fù)工資金額numeric(8,2)崗位工資工資級(jí)別char(2)主鍵,不允許重復(fù)工資金額numeric(8,2)工資信息員工編號(hào)char(8)主鍵,不允許重復(fù);外鍵根本工資numeric(8,2)崗位工資numeric(8,2)水電費(fèi)numeric(8,2)實(shí)發(fā)金額numeric(8,2)用戶表用戶名char(8)主鍵,不允許重復(fù)密碼char(20)權(quán)限char(20)E-R圖:第三章:企業(yè)工資管理系統(tǒng)應(yīng)用程序設(shè)計(jì)3.1操作流程圖初始登入用戶:admin密碼為:admin用戶登入用戶登入錄入口令是否正確?進(jìn)入工資管理主界面職員管理工資工程/工資數(shù)據(jù)錄入/工資報(bào)表用戶管理數(shù)據(jù)備份/恢復(fù)結(jié)束當(dāng)月工資3.2“登錄模塊〞詳細(xì)設(shè)計(jì)登錄模塊的詳細(xì)設(shè)計(jì)主要是用戶登錄的一個(gè)界面,判斷登錄的用戶是管理員還是普通用戶,進(jìn)入后將面對(duì)的是主界面,從而進(jìn)行相關(guān)的操作。登錄的界面主要由用戶名和密碼的信息,還有一些標(biāo)題設(shè)置,確定和取消的按鈕組成。通過標(biāo)題可以知道此系統(tǒng)的大概內(nèi)容,由此,登錄界面的設(shè)計(jì)完成。窗體及核心代碼:PrivateSubcmd_cancel_Click()txt_key.Text=""cmo_user.Text="請(qǐng)選擇"UnloadMeEndSubPrivateSubcmd_ok_Click()Dimtry_timesAsStringDimsqlAsStringDimrstAsADODB.Recordsettry_times=0If(Trim(txt_key.Text)="")ThenMsgBox"請(qǐng)輸入密碼",vbOKOnly+vbExclamation,"提示"Elsesql="select*from用戶表where用戶名='"&Trim(cmo_user.Text)&"'"Setrst=ExecuteSQL(sql,"")IfTrim(rst.Fields(1))=Trim(txt_key.Text)ThenIfTrim(rst.Fields(2))<>"管理員"Thenfrm_main.xitong.Enabled=False'在這里設(shè)計(jì)非管理員用戶的權(quán)限,這里我假設(shè)讓非管理員用戶不能用菜單中的‘系統(tǒng)’frm_main.shezhi.Enabled=Falsefrm_main.xinxiweihu.Enabled=FalseEndIfrst.CloseUserName=Trim(cmo_user.Text)frm_main.ShowUnloadMeElseMsgBox"密碼不正確,請(qǐng)重新輸入",vbOKOnly+vbExclamation,"警告"txt_key.SetFocustxt_key.Text=""try_times=try_times+1ExitSub'在這里假設(shè)密碼錯(cuò)了應(yīng)該跳出該過程,否那么下面的語句還會(huì)執(zhí)行,這不是你想要的EndIf'try_times=try_times+1'個(gè)人認(rèn)為密碼輸入錯(cuò)了才加一,你這樣的話,用戶名錯(cuò)了也會(huì)加一,當(dāng)然你這里用戶名不會(huì)錯(cuò)是吧,改得多余了Iftry_times=3ThenUnloadMeEndIfEndIfEndSubPrivateSubForm_Load()DimiAsIntegerDimsqlAsStringDimrstAsADODB.Recordsetsql="select用戶名from用戶表"Setrst=ExecuteSQL(sql,"")Fori=1Torst.RecordCountcmo_user.AddItem(rst.Fields(0))rst.MoveNextNextiEndSub主窗體:PrivateSubbumenxinxi_Click()DimsqlAsStringDimrstAsNewADODB.Recordsetsql="select*from用戶表"Setrst=ExecuteSQL(sql,"")power=rst.Fields(2)IfTrim(power)<>"管理員"ThenMsgBox"您無權(quán)進(jìn)行該操作!",vbOKOnly+vbExclamation,"警告"ElseIfTrim(power)="管理員"Thenfrm_bumenxinxi.ShowUnloadMeEndIfEndIfEndSubPrivateSubgangweigongzi_Click()DimsqlAsStringDimrstAsNewADODB.Recordsetsql="select*from用戶表"Setrst=ExecuteSQL(sql,"")power=rst.Fields(2)IfTrim(power)<>"管理員"ThenMsgBox"您無權(quán)進(jìn)行該操作!",vbOKOnly+vbExclamation,"警告"ElseIfTrim(power)="管理員"Thenfrm_gangweigongzi.ShowUnloadMeEndIfEndIfEndSubPrivateSubjiben_Click()DimsqlAsStringDimrstAsNewADODB.Recordsetsql="select*from用戶表"Setrst=ExecuteSQL(sql,"")power=rst.Fields(2)IfTrim(power)<>"管理員"ThenMsgBox"您無權(quán)進(jìn)行該操作!",vbOKOnly+vbExclamation,"警告"ElseIfTrim(power)="管理員"Thenfrm_jiben.ShowUnloadMeEndIfEndIfEndSubPrivateSubyonghushanchu_Click()DimsqlAsStringDimrstAsNewADODB.Recordsetsql="select*from用戶表"Setrst=ExecuteSQL(sql,"")power=rst.Fields(2)IfTrim(power)<>"管理員"ThenMsgBox"您無權(quán)進(jìn)行該操作!",vbOKOnly+vbExclamation,"警告"ElseIfTrim(power)="管理員"Thenfrm_tianjiayushanchu.ShowUnloadMeEndIfEndIfEndSubPrivateSubyonghutianjia_Click()DimsqlAsStringDimrstAsNewADODB.Recordsetsql="select*from用戶表"Setrst=ExecuteSQL(sql,"")power=rst.Fields(2)IfTrim(power)<>"管理員"ThenMsgBox"您無權(quán)進(jìn)行該操作!",vbOKOnly+vbExclamation,"警告"ElseIfTrim(power)="管理員"Thenfrm_tianjiayushanchu.ShowUnloadMeEndIfEndIfEndSubPrivateSubForm_Load()DimiAsIntegerDimsqlAsStringDimrstAsADODB.Recordsetsql="select權(quán)限from用戶表"Setrst=ExecuteSQL(sql,"")Fori=1Torst.RecordCountrst.MoveNextNexti3.3“主窗體〞模塊詳細(xì)設(shè)計(jì)在這個(gè)工程中,選擇使用多文檔界面。使用這個(gè)窗體的好處是可以使程序更加有條理。對(duì)于一個(gè)多任務(wù)的應(yīng)用程序,使用多文檔窗體還可以減少占用的系統(tǒng)資源。主窗體設(shè)計(jì)的界面是用菜單編輯器做的,主要由系統(tǒng)、工資信息設(shè)置、工資信息管理和關(guān)于這四個(gè)大模塊組成。主窗體是進(jìn)行相關(guān)操作的主界面。在這幾個(gè)里,管理員有所有的權(quán)利進(jìn)行各種操作。主窗體及核心代碼:PrivateSubbumenxinxi_Click()DimsqlAsStringDimrstAsNewADODB.Recordsetsql="select*from用戶表"Setrst=ExecuteSQL(sql,"")power=rst.Fields(2)IfTrim(power)<>"管理員"ThenMsgBox"您無權(quán)進(jìn)行該操作!",vbOKOnly+vbExclamation,"警告"ElseIfTrim(power)="管理員"Thenfrm_bumenxinxi.ShowUnloadMeEndIfEndIfEndSubPrivateSubgangweigongzi_Click()DimsqlAsStringDimrstAsNewADODB.Recordsetsql="select*from用戶表"Setrst=ExecuteSQL(sql,"")power=rst.Fields(2)IfTrim(power)<>"管理員"ThenMsgBox"您無權(quán)進(jìn)行該操作!",vbOKOnly+vbExclamation,"警告"ElseIfTrim(power)="管理員"Thenfrm_gangweigongzi.ShowUnloadMeEndIfEndIfEndSubPrivateSubjiben_Click()DimsqlAsStringDimrstAsNewADODB.Recordsetsql="select*from用戶表"Setrst=ExecuteSQL(sql,"")power=rst.Fields(2)IfTrim(power)<>"管理員"ThenMsgBox"您無權(quán)進(jìn)行該操作!",vbOKOnly+vbExclamation,"警告"ElseIfTrim(power)="管理員"Thenfrm_jiben.ShowUnloadMeEndIfEndIfEndSubPrivateSubyonghushanchu_Click()DimsqlAsStringDimrstAsNewADODB.Recordsetsql="select*from用戶表"Setrst=ExecuteSQL(sql,"")power=rst.Fields(2)IfTrim(power)<>"管理員"ThenMsgBox"您無權(quán)進(jìn)行該操作!",vbOKOnly+vbExclamation,"警告"ElseIfTrim(power)="管理員"Thenfrm_tianjiayushanchu.ShowUnloadMeEndIfEndIfEndSubPrivateSubyonghutianjia_Click()DimsqlAsStringDimrstAsNewADODB.Recordsetsql="select*from用戶表"Setrst=ExecuteSQL(sql,"")power=rst.Fields(2)IfTrim(power)<>"管理員"ThenMsgBox"您無權(quán)進(jìn)行該操作!",vbOKOnly+vbExclamation,"警告"ElseIfTrim(power)="管理員"Thenfrm_tianjiayushanchu.ShowUnloadMeEndIfEndIfEndSubPrivateSubForm_Load()DimiAsIntegerDimsqlAsStringDimrstAsADODB.Recordsetsql="select權(quán)限from用戶表"Setrst=ExecuteSQL(sql,"")Fori=1Torst.RecordCountrst.MoveNextNextiEndSub3.4各項(xiàng)子模塊詳細(xì)設(shè)計(jì)3.4.1添加用戶與刪除選擇“系統(tǒng)〞—>“添加用戶與刪除〞菜單,在添加用戶的窗體里,輸入新的用戶名稱和密碼后,單擊“添加〞按鈕,系統(tǒng)將會(huì)添加新的用戶。在窗體里輸入用戶名稱和密碼,單擊“刪除〞按鈕,系統(tǒng)將會(huì)刪除原來用戶。PrivateSubcmd_adduser_Click()DimnewrstAsADODB.RecordsetDimsqlAsStringsql="insertinto用戶表values("&"'"&Trim(txt_username.Text)&"',"_&"'"&Trim(txt_password.Text)&"',"_&"'"&Trim(txt_power)&"'"&")"Setnewrst=execute_sql(sql)sql="select*from用戶表"Setnewrst=select_sql(sql)SetDataGrid1.DataSource=newrstEndSubPrivateSubcmd_cancel_Click()UnloadMeEndSubPrivateSubcmd_delete_Click()DimsqlAsStringsql="select*from用戶表"Iftxt_username<>""ThenSetobjrs=ExecuteSQL(sql,"")SetDataGrid1.DataSource=objrs'刷新網(wǎng)格,顯示操作后的結(jié)果EndIfIfobjrs.RecordCount=0ThenMsgBox"庫中沒有記錄!"ExitSubEndIfIfobjrs.RecordCount<>0ThenIfMsgBox("真的要?jiǎng)h除該級(jí)用戶信息嗎?",vbYesNo+vbQuestion,"警告")=vbYesThenobjrs.DeleteMsgBox"刪除成功!",vbInformation,"提示"EndIfEndIfEndSubPrivateSubForm_Load()DimnewrstAsADODB.RecordsetDimsqlAsStringsql="select*from用戶表"Setnewrst=select_sql(sql)SetDataGrid1.DataSource=newrstEndSub3.4.2修改用戶選擇“系統(tǒng)〞->“修改用戶〞菜單,在窗體里輸入新的用戶名稱和用戶權(quán)限,單擊“修改〞按鈕,系統(tǒng)將會(huì)修改原來用戶信息。PrivateSubcmd_adduser_Click()DimnewrstAsADODB.RecordsetDimsqlAsStringsql="insertinto用戶表values("&"'"&Trim(txt_username.Text)&"',"_&"'"&Trim(txt_password.Text)&"',"_&"'"&Trim(txt_power)&"'"&")"Setnewrst=execute_sql(sql)sql="select*from用戶表"Setnewrst=select_sql(sql)SetDataGrid1.DataSource=newrstEndSubPrivateSubcmd_cancel_Click()UnloadMeEndSubPrivateSubcmd_delete_Click()DimsqlAsStringsql="select*from用戶表"Iftxt_username<>""ThenSetobjrs=ExecuteSQL(sql,"")SetDataGrid1.DataSource=objrs'刷新網(wǎng)格,顯示操作后的結(jié)果EndIfIfobjrs.RecordCount=0ThenMsgBox"庫中沒有記錄!"ExitSubEndIfIfobjrs.RecordCount<>0ThenIfMsgBox("真的要?jiǎng)h除該級(jí)用戶信息嗎?",vbYesNo+vbQuestion,"警告")=vbYesThenobjrs.DeleteMsgBox"刪除成功!",vbInformation,"提示"EndIfEndIfEndSubPrivateSubForm_Load()DimnewrstAsADODB.RecordsetDimsqlAsStringsql="select*from用戶表"Setnewrst=select_sql(sql)SetDataGrid1.DataSource=newrstEndSub3.4.3數(shù)據(jù)庫備份和恢復(fù)選擇“系統(tǒng)〞->“數(shù)據(jù)庫備份和恢復(fù)〞菜單,在位置文本框中輸入備份或恢復(fù)的文件所在位置,單擊“備份〞或“恢復(fù)〞按鈕,數(shù)據(jù)庫將備份或恢復(fù)。OptionExplicitPrivateSubcmd_recovery_Click()IfcnMod.State=adStateOpenThencnMod.Close'如果已連接,關(guān)掉寬EndIfcnMod.Open"driver={sqlserver};server=HZ;uid=sa;pwd=heweiling;database=master"'建一個(gè)連接用來獲得要復(fù)原數(shù)據(jù)庫的進(jìn)程標(biāo)識(shí)符〔spid〕DimrsAsNewADODB.Recordset'該記錄集保存進(jìn)程ID以備操作rs.Open"selectspidfromsysprocesseswheredbid=db_id('工資管理系統(tǒng)')",cnMod,adOpenDynamic,adLockPessimistic'解釋一下,這句話是為了將有關(guān)“工資管理系統(tǒng)〞所有效勞進(jìn)程ID查詢出來db_id是SQL中的一個(gè)函數(shù)具體語法你自己看它的幫助文件哦,這里就不贅述了Ifrs.EOF=FalseThenrs.MoveFirstDoWhilers.EOF=True'掃描并關(guān)閉有關(guān)“工資管理系統(tǒng)〞的效勞進(jìn)程cnMod.Execute("kill"&rs.Fields(0))'kill也是SQL的方法“殺〞與dos下的kill類似啊,是吧,呵呵自己看看幫助文件很詳盡的rs.MoveNextLoopEndIfCD.Filter="所有文件〔*.*〕|*.*|備份文件(*.bak)|*.bak"CD.InitDir=App.PathText1.Text=CD.FileNameCD.ShowOpenDimMstrAsStringMstr="恢復(fù)主要數(shù)據(jù)庫?數(shù)據(jù)恢復(fù)操作將會(huì)覆蓋以前的所有數(shù)據(jù)并且覆蓋后無法恢復(fù),您確定要進(jìn)行恢復(fù)操作嗎?"IfMsgBox(Mstr,vbYesNo+vbQuestion,"操作提示")=vbYesThenOnErrorGoToreLabel1.Caption="正在恢復(fù),請(qǐng)稍候……"cnMod.BeginTrans'開始一個(gè)事件cnMod.Execute("restoredatabase工資管理系統(tǒng)fromdisk='"&CD.FileName&"'withreplace")'SQL語句要是不會(huì)用,查看幫助文件cnMod.CommitTrans'執(zhí)行Label1.Caption="恢復(fù)成功"MsgBox"恢復(fù)成功",vbOKOnly+vbInformation,"提示"ExitSubre:cnMod.RollbackTrans'回滾〔不執(zhí)行〕Label1.Caption="恢復(fù)失敗"MsgBox"恢復(fù)失敗",vbOKOnly+vbInformation,"提示"EndIfEndSubPrivateSubcmd_back_Click()'下面是備份的代碼,處理的比擬粗糙,你自己優(yōu)化了,呵呵,相信你能看懂的,我就不注釋了IfcnMod.State=adStateOpenThencnMod.CloseEndIfCD.Filter="所有文件〔*.*〕|*.*|備份文件(*.bak)|*.bak"CD.InitDir=App.PathCD.ShowSavetxt_weizhi=CD.FileNamecnMod.Open"driver={sqlserver};server=HZ;uid=sa;pwd=heweiling;database=工資管理系統(tǒng)"OnErrorGoTobackcnMod.BeginTranscnMod.Execute("backupdatabase工資管理系統(tǒng)todisk='"&CD.FileName&"'")cnMod.CommitTransMsgBox"成功地備份到"&CD.FileName&"下",vbOKOnly+vbInformation,"操作提示"cnMod.CloseExitSubback:cnMod.RollbackTransMsgBox"備份失敗",vbOKOnly+vbInformation,"提示"cnMod.CloseEndSub'到這里就告一段落了,是不是很簡(jiǎn)單呢,當(dāng)然這里有很多缺乏,你自己完善吧PrivateSubForm_Load()EndSub3.4.4退出選擇“系統(tǒng)〞->“退出〞菜單,單擊那么推出主菜單界面。3.4.5根本工資選擇“設(shè)置〞->“根本工資〞菜單,可以單擊“添加〞,“刪除〞,“修改〞,“取消〞按鈕來實(shí)現(xiàn)相應(yīng)功能。DimobjrsAsADODB.RecordsetDimmsg_sqlAsStringPrivateSubcmd_add_Click()IfCombo_level.Text<>""ThenSetobjrs=ExecuteSQL("insertinto根本工資values("+Str(Combo_level.Text)+","+(Text_pay.Text)+")",msg_sql)'插入符合條件的工資信息Setobjrs=ExecuteSQL("select*from根本工資",msg_sql)SetDataGrid1.DataSource=objrs'刷新網(wǎng)格,顯示操作后的結(jié)果Combo_level.SetFocusCombo_level.Text=""Text_pay.Text=""EndIfEndSubPrivateSubcmd_cancel_Click()UnloadMeEndSubPrivateSubcmd_delete_Click()Ifobjrs.RecordCount=0ThenMsgBox"庫中沒有記錄!"ExitSubEndIfIfobjrs.RecordCount<>0ThenIfMsgBox("真的要?jiǎng)h除該級(jí)別工資信息嗎?",vbYesNo+vbQuestion,"警告")=vbYesThenobjrs.DeleteMsgBox"刪除成功!",vbInformation,"提示"Combo_level.SetFocusCombo_level.Text=""Text_pay.Text=""EndIfEndIfEndSubPrivateSubForm_Load()Setobjrs=ExecuteSQL("select*from根本工資",msg_sql)SetDataGrid1.DataSource=objrsEndSubPrivateSubText_pay_LostFocus()IfVal(Text_pay.Text)<0OrVal(Text_pay.Text)>=10000ThenMsgBox"數(shù)據(jù)非法"Text_pay.Text=""Text_pay.SetFocusEndIfEndSub3.4.6崗位工資選擇“設(shè)置〞->“崗位工資〞菜單,可以單擊“添加〞,“刪除〞,“修改〞,“取消〞按鈕來實(shí)現(xiàn)相應(yīng)功能。DimobjrsAsADODB.RecordsetDimmsg_sqlAsStringPrivateSubcmd_add_Click()IfCombo_level.Text<>""ThenSetobjrs=ExecuteSQL("insertinto崗位工資values("+Str(Combo_level.Text)+","+(Text_pay.Text)+")",msg_sql)'插入符合條件的工資信息Setobjrs=ExecuteSQL("select*from崗位工資",msg_sql)SetDataGrid1.DataSource=objrs'刷新網(wǎng)格,顯示操作后的結(jié)果Combo_level.SetFocusCombo_level.Text=""Text_pay.Text=""EndIfEndSubPrivateSubcmd_cancel_Click()UnloadMeEndSubPrivateSubcmd_delete_Click()Ifobjrs.RecordCount=0ThenMsgBox"庫中沒有記錄!"ExitSubEndIfIfobjrs.RecordCount<>0ThenIfMsgBox("真的要?jiǎng)h除該級(jí)別工資信息嗎?",vbYesNo+vbQuestion,"警告")=vbYesThenobjrs.DeleteMsgBox"刪除成功!",vbInformation,"提示"Combo_level.SetFocusCombo_level.Text=""Text_pay.Text=""EndIfEndIfEndSubPrivateSubForm_Load()Setobjrs=ExecuteSQL("select*from崗位工資",msg_sql)SetDataGrid1.DataSource=objrsEndSubPrivateSubText_pay_LostFocus()IfVal(Text_pay.Text)<0OrVal(Text_pay.Text)>=10000ThenMsgBox"數(shù)據(jù)非法"Text_pay.Text=""Text_pay.SetFocusEndIfEndSub3.4.7部門管理選擇“信息維護(hù)〞->“部門管理〞菜單,可以單擊“添加〞,“刪除〞,“修改〞,“取消〞按鈕來實(shí)現(xiàn)相應(yīng)功能。DimobjrsAsADODB.RecordsetDimmsg_sqlAsStringPrivateSubcmd_add_Click()Dimsqlbianhao,sqlmingcheng,sqlfuzeren,sqlrenshuAsStringsqlbianhao=cmo_bianhao.Textsqlmingcheng=cmo_mingcheng.Textsqlfuzeren=txt_fuzeren.Textsqlrenshu=txt_renshu.TextIfcmo_bianhao.Text<>""Andcmo_mingcheng.Text<>""ThenIfMsgBox("確定添加嗎?",vbYesNo+vbExclamation,"警告")=vbYesThenSetobjrs=ExecuteSQL("insertinto部門信息values("+"'"+sqlbianhao+"'"+",'"+sqlmingcheng+"','"+sqlfuzeren+"','"+sqlrenshu+"')",msg_sql)Setobjrs=ExecuteSQL("select*from部門信息",msg_sql)SetDataGrid1.DataSource=objrsMsgBox"添加成功!",vbOKOnly+vbExclamation,"警告"EndIfEndIfEndSubPrivateSubcmd_alter_Click()IfTrim(cmo_bianhao.Text)=""OrTrim(cmo_mingcheng.Text)=""OrTrim(txt_fuzeren.Text)=""OrTrim(txt_renshu.Text)=""ThenMsgBox"請(qǐng)將修改后的信息填寫完整!",vbOKOnly+vbExclamation,"警告"ElseIfMsgBox("確定修改嗎?",vbYesNo+vbExclamation,"警告")=vbYesThenSetrst=ExecuteSQL("update部門信息set部門名稱='"&Trim(cmo_mingcheng.Text)&"'where部門編號(hào)='"&Trim(cmo_bianhao.Text)&"'",msg_sql)Setrst=ExecuteSQL("update部門信息set部門負(fù)責(zé)人='"&Trim(txt_fuzeren.Text)&"'where部門編號(hào)='"&Trim(cmo_bianhao.Text)&"'",msg_sql)Setrst=ExecuteSQL("update部門信息set部門人數(shù)='"&Trim(txt_renshu.Text)&"'where部門編號(hào)='"&Trim(cmo_bianhao.Text)&"'",msg_sql)Setrst=ExecuteSQL("select*from基部門信息",msg_sql)SetDataGrid1.DataSource=objrsMsgBox"修改成功!",vbOKOnly+vbExclamation,"警告"cmo_bianhao.SetFocuscmo_bianhao.Text=""cmo_mingcheng.Text=""txt_fuzeren.Text=""txt_renshu.Text=""EndIfEndIfEndSubPrivateSubcmd_cancel_Click()frm_main.ShowUnloadMeEndSubPrivateSubcmd_delete_Click()Ifobjrs.RecordCount=0ThenMsgBox"庫中沒有記錄!"ElseIfobjrs.RecordCount<>0ThenIfMsgBox("真的要?jiǎng)h除該部門?",vbYesNo+vbQuestion,"警告")=vbYesThenobjrs.DeleteMsgBox"刪除成功!",vbInformation,"提示"EndIfEndIfEndIfEndSubPrivateSubForm_Load()Setobjrs=ExecuteSQL("select*from部門信息",msg_sql)SetDataGrid1.DataSource=objrsEndSub3.4.8員工管理選擇“信息維護(hù)〞->“員工管理〞菜單,可以單擊“添加〞,“刪除〞,“修改〞,“取消〞按鈕來實(shí)現(xiàn)相應(yīng)功能。3.4.9發(fā)放工資選擇“信息維護(hù)〞->“發(fā)放工資〞菜單,單擊“添加〞或“修改〞按鈕那么彈出“添加員工工資〞菜單,單擊“添加〞或“修改〞那么可以實(shí)現(xiàn)添加員工工資或者修改員工工資。DimrstAsADODB.RecordsetDimsqlAsStringPrivateSubcmd_add_Click()frm_tianjiagongzi.ShowEndSubPrivateSubcmd_alter_Click()frm_tianjiagongzi.Show'txt_no.Enabled=Falsefrm_tianjiagongzi.Showfrm_tianjiagongzi.txt_bianhao.Text=DataGrid1.Columns(0)'frm_addsalary.txt_name=DataGrid1.Columns(1)frm_tianjiagongzio_jiben=DataGrid1.Columns(1)frm_tianjiagongzio_gangwei=DataGrid1.Columns(2)frm_tianjiagongzi.txt_shuidian=DataGrid1.Columns(3)EndSubPrivateSubcmd_delete_Click()Ifrst.RecordCount<>0ThenIfMsgBox("確定刪除該員工的工資信息嗎?",vbYesNo+vbQuestion,"警告")=vbYesThenrst.DeleteSetrst=ExecuteSQL("select*from工資信息",sql)SetDataGrid1.DataSource=rstMsgBox"刪除成功!",vbOKOnly+vbExclamation,"提示"EndIfEndIfEndSubPrivateSubcmd_cancel_Click()frm_main.ShowUnloadMeEndSubPrivateSubForm_Load()Setrst=ExecuteSQL("select*from工資信息",sql)SetDataGrid1.DataSource=rstEndSubDimrstAsADODB.RecordsetDimmsg_sqlAsStringDimjiben,gangwei,salaryAsDoubleDimaddsalarysqlAsStringPrivateSubcmd_alter_Click()DimupdatesqlAsStringtxt_bianhao.Enabled=FalseSetrst=ExecuteSQL("select*from員工信息where員工編號(hào)='"&Trim(txt_bianhao.Text)&"'",msg_sql)txt_xingming.Text=rst.Fields(0)Ifrst.RecordCount=0ThenMsgBox"請(qǐng)將修改后的信息填寫完整!",vbOKOnly+vbExclamation,"警告"ElseIfrst.RecordCount<>0ThenIfMsgBox("確定修改嗎?",vbYesNo+vbExclamation,"警告")=vbYesThenSetrst=ExecuteSQL("select*from根本工資where工資級(jí)別='"&Trim(cmo_jiben.Text)&"'",msg_sql)jiben=rst.Fields(1)Setrst=ExecuteSQL("select*from崗位工資where工資級(jí)別='"&Trim(cmo_gangwei.Text)&"'",msg_sql)gangwei=rst.Fields(1)salary=jiben+gangwei-Trim(txt_shuidian.Text)updatesql="update工資信息set根本工資="&jiben&","&"崗位工資="&gangwei&","&"水電費(fèi)="&"'"&Trim(txt_shuidian.Text)&"'"&","&"實(shí)發(fā)金額="&salary&"where員工編號(hào)='"&Trim(txt_bianhao.Text)&"'"Setrst=ExecuteSQL(updatesql,msg_sql)MsgBox"修改成功!",vbOKOnly+vbExclamation,"警告"UnloadMeSetrst=ExecuteSQL("select*from工資信息",msg_sql)Setfrm_fafanggongzi.DataGrid1.DataSource=rsttxt_bianhao.Text=""txt_xingming.Text=""cmo_jiben.Text=""cmo_gangwei.Text=""txt_shuidian.Text=""EndIfEndIfEndIfEndSubPrivateSubcmd_cancel_Click()UnloadMeEndSubPrivateSubcmd_ok_Click()Setrst=ExecuteSQL("select*from根本工資",msg_sql)Ifrst.RecordCount=0ThenMsgBox"請(qǐng)先錄入根本工資信息"ElseIfrst.RecordCount=0ThenMsgBox"請(qǐng)先錄入崗位工資信息"ElseSetrst=ExecuteSQL("select*from根本工資where工資級(jí)別='"&Trim(cmo_jiben.Text)&"'",msg_sql)jiben=rst.Fields(1)Setrst=ExecuteSQL("select*from崗位工資where工資級(jí)別='"&Trim(cmo_gangwei.Text)&"'",msg_sql)gangwei=rst.Fields(1)salary=jiben+gangwei-Trim(txt_shuidian.Text)addsalarysql="insertinto工資信息values('"&Trim(txt_bianhao.Text)&"','"&jiben&"','"&gangwei&"','"&Trim(txt_shuidian.Text)&"','"&salary&"')"Setrst=ExecuteSQL(addsalarysql,msg_sql)UnloadMeSetrst=ExecuteSQL("select*from工資信息",msg_sql)Setfrm_salary.DataGrid1.DataSource=rstEndIfEndIfEndSubPrivateSubForm_Load()Setrst=ExecuteSQL("select*from根本工資",msg_sql)Fori=1Torst.RecordCountcmo_jiben.AddItem(rst.Fields(0))rst.MoveNextNextiSetrst=ExecuteSQL("select*from崗位工資",msg_sql)Fori=1Torst.RecordCountcmo_gangwei.AddItem(rst.Fields(0))rst.MoveNextNextiEndSubPrivateSubtxt_bianhao_LostFocus()Setrst=ExecuteSQL("select*from員工信息where員工編號(hào)='"&Trim(txt_bianhao.Text)&"'",msg_sql)Ifrst.RecordCount=0ThenMsgBox"無此人"txt_bianhao.SetFocustxt_bianaho.Text=""ExitSubEndIfSetrst=ExecuteSQL("select*from員工信息where員工編號(hào)='"&Trim(txt_bianhao.Text)&"'",msg_sql)txt_xingming.Text=rst.Fields(0)EndSub3.4.10按員工查詢選擇“工資查詢〞->“按員工查詢〞,輸入員工編號(hào)和姓名,單擊“查詢〞即可查看個(gè)人工資情況。Dimmsg_sqlAsStringDimobjrsAsADODB.RecordsetPrivateSubcmd_cancel_Click()frm_main.Showfrm_main.xitong.Enabled=False'在這里設(shè)計(jì)非管理員用戶的權(quán)限,這里我假設(shè)讓非管理員用戶不能用菜單中的‘系統(tǒng)’frm_main.shezhi.Enabled=Falsefrm_main.xinxiweihu.Enabled=FalseUnloadMeEndSubPrivateSubcmd_search_Click()Setobjrs=ExecuteSQL("select*from工資信息where員工編號(hào)='"&Trim(txt_bianhao.Text)&"'",msg_sql)SetDataGrid1.DataSource=objrsEndSub3.4.11按部門查詢選擇“工資查詢〞->“按部門查詢〞,輸入部門編號(hào)和名稱,單擊“查詢〞即可查看工資。Dimmsg_sqlAsStringDimobjrsAsADODB.RecordsetPrivateSubcmd_cancel_Click()frm_main.Showfrm_main.xitong.Enabled=False'在這里設(shè)計(jì)非管理員用戶的權(quán)限,這里我假設(shè)讓非管理員用戶不能用菜單中的‘系統(tǒng)’frm_main.shezhi.Enabled=Falsefrm_main.xinxiweihu.Enabled=FalseUnloadMeEndSubPrivateSubcmd_search_Click()DimsearchsqlAsStringsearchsql="select工資信息.員工編號(hào),姓名,根本工資,崗位工資,水電費(fèi),實(shí)發(fā)金額from工資信息,部門信息,員工信息where員工信息.所屬部門='"_&Trim(txt_bianhao.Text)&"'"_&"AND工資信息.員工編號(hào)=員工信息.員工編號(hào)AND部門信息.部門編號(hào)=員工信息.所屬部門"Setobjrs=ExecuteSQL(searchsql,msg_sql)SetDataGrid1.DataSource=objrsEndSub模塊一:PublicpowerAsStringPublictempuserAsStringPubliccnModAsNewADODB.ConnectionPublicUserNameAsStringPublicUserPwdAsStringPublicFunctionExecuteSQL(ByValsqlAsString,MsgStringAsString)AsADODB.RecordsetDimcn
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 特殊教育學(xué)校課程改進(jìn)方案
- 三角形天窗在綠色建筑中的應(yīng)用方案
- 公務(wù)用車維修保養(yǎng)審批流程不健全自查報(bào)告
- 基于QbD理念的健胃消食片顆粒的關(guān)鍵物料屬性辨識(shí)研究及其預(yù)測(cè)模型的構(gòu)建
- 幼兒園提升保教質(zhì)量教師案例
- 鐵路運(yùn)輸卸料平臺(tái)改進(jìn)方案
- 航空維修標(biāo)準(zhǔn)化作業(yè)方案
- 加氣站安全設(shè)施維護(hù)工作總結(jié)
- 活動(dòng)現(xiàn)場(chǎng)便攜發(fā)電機(jī)使用方案
- 2019年醫(yī)院“清廉醫(yī)療”服務(wù)提升方案
- 產(chǎn)品設(shè)計(jì)中材料選擇與開發(fā)
- 工程結(jié)算匯總表及工程結(jié)算明細(xì)表(范本)
- 管線管廊布置設(shè)計(jì)規(guī)范
- 《會(huì)計(jì)平衡公式》教案
- 八年級(jí)黃金矩形(數(shù)學(xué)活動(dòng))ppt課件
- 銷售技巧個(gè)頂尖電梯銷售技巧
- 《幼兒園衛(wèi)生保健后勤材料資料》幼兒園保健醫(yī)生每日檢查工作記錄表
- 葡萄糖生產(chǎn)教程
- 需求價(jià)格彈性案例分析
- 企業(yè)內(nèi)部通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 計(jì)算機(jī)論文
- 重大決策合法性審查表.doc
評(píng)論
0/150
提交評(píng)論