【正文】
p_idint員工編號4NOT NULLcheck_ymnvarchar員工姓名6NOT NULLw_dayreal應(yīng)出勤天數(shù)4NOT NULLl_numsint遲到次數(shù)4NOT NULLe_numsint早退次數(shù)4NOT NULLh_daysreal請假天數(shù)4NOT NULLn_daysreal曠工天數(shù)4NOT NULLo_daysreal加班天數(shù)4NOT NULLr_daysreal補(bǔ)休天數(shù)4NOT NULLovertime_sreal加班費(fèi)4NOT NULLd_checkreal扣款4NOT NULLcheck_desnvarchar備注255注:波浪線為主鍵。CREATE TRIGGER T_IN ON FOR INSERT,UpdateAS IF EXISTS ( SELECT * FROM employee WHERE emp_name like 39。 ) BEGIN RAISERROR(39。,16,1) ROLLBACK RETURN END 建立索引create cluster index pk_duty on duty_idcreate cluster index pk_department on dept_idcreate cluster index pk_title on title_idcreate cluster index pk_education on edu_idcreate cluster index pk_sysuser on user_idcreate cluster index pk_employee on emp_idcreate cluster index pk_checkin on (emp_id,check_ym) VB數(shù)據(jù)庫連接語句Option ExplicitPublic dbConn As New Public loginUser As StringPublic loginOK As BooleanPublic cmdType As StringPublic tUser_id As StringPublic tDept_id As IntegerPublic tEmp_id As IntegerPublic tCheck_ym As StringPublic tQx As StringSub Main() If ConnectToDatabase = False Then MsgBox 連接數(shù)據(jù)庫出錯! End End If loginOK = False cmdType = vbModal Unload frmLogin If loginOK Then End IfEnd Sub39。設(shè)置服務(wù)器名稱,數(shù)據(jù)庫名稱,登錄名(此時(shí)假設(shè)密碼為空) = dsn=rsgl。uid=ZFS。 = Provider=msdasql。server=puter。pwd= ConnectToDatabase = True Exit FunctionERR_CONN: ConnectToDatabase = FalseEnd Function ODBC連接連接數(shù)據(jù)庫方法如下: 打開我的電腦控制面板管理工具。 在“系統(tǒng)DSN”選項(xiàng)卡下,單擊“添加”按鈕,彈出如圖()所示對話框,在該對話框中選擇SQL Server選項(xiàng)。 在該對話框中輸入數(shù)據(jù)源名“emp”、服務(wù)器名,按要求填空完成后,即可完成數(shù)據(jù)源的連接設(shè)置()。其功能結(jié)構(gòu)如圖()::系統(tǒng)功能結(jié)構(gòu)圖員工信息管理系統(tǒng)主要包含用戶登錄、新增、編輯、查詢功能模塊。新增功能模塊包含2個功能模塊:員工個人信息的添加、員工考勤信息的添加編輯功能模塊包含2個功能模塊:員工個人信息的刪除、按月份進(jìn)行員工考勤信息編輯與刪除查詢功能模塊包含2個功能模塊:員工個人信息查詢、按月份進(jìn)行員工考勤信息查詢系統(tǒng)操作流程圖():: Y登錄密碼框判斷密碼員工信息管理系統(tǒng)其他管理結(jié)束開始N保存操作結(jié)果 設(shè)計(jì)結(jié)果與分析(可以加頁):員工信息查詢 ():員工信息查詢界面主要代碼如下: Private Sub Command1_Click() Dim strId As String Dim strName As String Dim strDept As String Dim strTitle As String Dim strDuty As String Dim strEdu As String Dim strSex As String 39。 amp。 39。 amp。 39。 amp。 39。 amp。 39。 amp。 39。 amp。 39。 amp。 39。打開一個數(shù)據(jù)集 strSql = select , from employee a,education b,department c,duty d,title e where = and = and = and = amp。 amp。 amp。 amp。 amp。 amp。 amp。 amp。 order by strSql, dbConn, adOpenForwardOnly, adLockReadOnly If Then Label9 = 找到0條記錄 = 1 Else 39。 1 amp。性別 男 女 = 0 39。部門 strSql = Select dept_id,dept_name from department Order By dept_id strSql, dbConn, adOpenForwardOnly, adLockReadOnly Do While Not ((dept_name).Value) () = (dept_id).Value Loop = 0 39。職稱 strSql = Select title_id,title_name from title Order By title_id strSql, dbConn, adOpenForwardOnly, adLockReadOnly Do While Not ((title_name).Value) () = (title_id).Value Loop = 0 39。列標(biāo)題 (0, 0) = 工號 (0, 1) = (0, 2) = 姓名 (0, 3) = 性別 (0, 4) = 學(xué)歷 (0, 5) = 部門 (0, 6) = 職務(wù) (0, 7) = 職稱 39。設(shè)置各列的對齊方式 For i = 0 To 7 (i) = 0 Next i 39。強(qiáng)制跨越整個行選擇