最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【人事管理信息系統(tǒng)】 設計報告資料和示例代碼分享 VB程序 Access數(shù)據(jù)庫

2023-04-15 00:57 作者:凌霄百科  | 我要投稿

設計資料

功能模塊圖



業(yè)務流程圖



數(shù)據(jù)流圖



E-R圖



程序流程圖


邏輯結構模型

部門(部門)

調動表(調動ID,員工號,原部門,原職位,調動部門,調動職位,調動日期,調動原因,經(jīng)辦人,備注)

調動原因(調動原因)

職位(職位)

考勤(考勤ID,員工號,考勤年份,考勤月份,出勤,曠工,早退,遲到,請假,出差,加班,備注)

離職(離職ID,員工號,所在部門,職位,離職日期,離職原因,經(jīng)辦人,備注)

離職原因表(離職原因)

狀態(tài)(狀態(tài))

員工(員工號,姓名,性別,籍貫,民族,政治面貌,聯(lián)系方式,電子郵箱,身份證號,出生日期,學歷,家庭住址,部門,職位,入職日期,狀態(tài),備注)

數(shù)據(jù)庫

人事管理信息系統(tǒng)后端采用access數(shù)據(jù)庫存儲數(shù)據(jù),格式為mdb,命名為db_rs,為了保證安全性,數(shù)據(jù)庫設置加密,密碼為abc123。


部門表



賬號表



調動表



調動原因表



職位表



考勤表



離職表



離職原因表



狀態(tài)表



員工表





表關系



查詢

調動查詢



SELECT 調動表.*, 員工表.姓名

FROM 員工表 INNER JOIN 調動表 ON 員工表.員工號 = 調動表.員工號;


考勤查詢



SELECT 考勤表.*, 員工表.姓名, 員工表.部門, 員工表.職位

FROM 員工表 INNER JOIN 考勤表 ON 員工表.員工號 = 考勤表.員工號;

考勤統(tǒng)計查詢



SELECT 考勤查詢.考勤年份, 考勤查詢.員工號, 考勤查詢.姓名, 考勤查詢.部門, 考勤查詢.職位, Sum(考勤查詢.出勤) AS 出勤合計, Sum(考勤查詢.曠工) AS 曠工合計, Sum(考勤查詢.早退) AS 早退合計, Sum(考勤查詢.遲到) AS 遲到合計, Sum(考勤查詢.請假) AS 請假合計, Sum(考勤查詢.出差) AS 出差合計, Sum(考勤查詢.加班) AS 加班合計

FROM 考勤查詢

GROUP BY 考勤查詢.考勤年份, 考勤查詢.員工號, 考勤查詢.姓名, 考勤查詢.部門, 考勤查詢.職位;


離職查詢



SELECT 離職表.*, 員工表.姓名

FROM 員工表 INNER JOIN 離職表 ON 員工表.員工號 = 離職表.員工號;


員工查詢



SELECT 員工表.*, Year(Date())-Year([出生日期]) AS 年齡, Year(Date())-Year([入職日期]) AS 公司工齡

FROM 員工表;


員工基本信息查詢



SELECT 員工表.員工號, 員工表.姓名, 員工表.性別, 員工表.部門, 員工表.職位, 員工表.狀態(tài)

FROM 員工表;


示例模塊

離職查詢


Option Explicit


Dim dh As Long '存儲高度差

Dim dw As Long '存儲寬度差





Private Sub Command查詢1_Click() '單條件查詢

On Error GoTo 結束查詢

Dim search_field As String

If Me.查詢字段 = "離職日期" Then


If 起始日期 <> "" And IsNull(起始日期) = False And 截止日期 <> "" And IsNull(截止日期) = False And 查詢字段 <> "" And IsNull(查詢字段) = False Then

search_field = 查詢字段

lz_filter = search_field & " between #" & 起始日期 & "# and #" & 截止日期 & "#"

Else

lz_filter = ""

End If

Adodc1.RecordSource = 生成查詢語句("離職查詢", lz_filter, lz_order)

Adodc1.Refresh

DataGrid1.Refresh

DataGrid1.SetFocus

Exit Sub

End If

If Me.查詢字段 = "數(shù)值" Then

If 最小 <> "" And IsNull(最小) = False And 最大 <> "" And IsNull(最大) = False And 查詢字段 <> "" And IsNull(查詢字段) = False Then


search_field = 查詢字段

lz_filter = search_field & " >= " & 最小 & " And " & search_field & " <= " & 最大

Else

lz_filter = ""

End If

Adodc1.RecordSource = 生成查詢語句("離職查詢", lz_filter, lz_order)

Adodc1.Refresh

DataGrid1.Refresh

DataGrid1.SetFocus

Exit Sub

End If


If 查詢內容 <> "" And IsNull(查詢內容) = False And 查詢字段 <> "" And IsNull(查詢字段) = False Then


search_field = 查詢字段

lz_filter = search_field & " like '%" & 查詢內容 & "%'"

Else

lz_filter = ""

End If

Adodc1.RecordSource = 生成查詢語句("離職查詢", lz_filter, lz_order)

Adodc1.Refresh

DataGrid1.Refresh

DataGrid1.SetFocus

Exit Sub

結束查詢:

MsgBox Err.Description, , "錯誤提示"

End Sub




Private Sub Command管理_Click()

On Error GoTo A1

lz_num = DataGrid1.Columns(0).Text

frm離職管理.Show 1

A1:

End Sub


Private Sub Command降序_Click()

If 排序 <> "" And IsNull(排序) = False Then

lz_order = 排序 & " DESC"

Else

lz_order = ""

End If

Adodc1.RecordSource = 生成查詢語句("離職查詢", lz_filter, lz_order)

Adodc1.Refresh

DataGrid1.Refresh


DataGrid1.SetFocus

End Sub


Private Sub Command全部_Click()

lz_filter = ""

Adodc1.RecordSource = 生成查詢語句("離職查詢", lz_filter, lz_order)

Adodc1.Refresh

DataGrid1.Refresh


DataGrid1.SetFocus

End Sub


Private Sub Command升序_Click()

If 排序 <> "" And IsNull(排序) = False Then

lz_order = 排序 & " ASC"

Else

lz_order = ""

End If

Adodc1.RecordSource = 生成查詢語句("離職查詢", lz_filter, lz_order)

Adodc1.Refresh

DataGrid1.Refresh


DataGrid1.SetFocus

End Sub




Private Sub Command生成報表_Click()

Dim Cnn As New ADODB.Connection

Dim rs As New ADODB.Recordset

With Cnn 'mdb格式連接

.ConnectionString = "Provider = microsoft.jet.oledb.4.0;data source=" & App.Path & "\db_rs.mdb;Jet OLEDB:DataBase password=abc123;persist security info=false"

.Open

End With

Dim rs_sql As String

rs_sql = 生成查詢語句("離職查詢", lz_filter, lz_order)

rs.Open rs_sql, Cnn, adOpenDynamic, adLockOptimistic

Set DataReport離職報表.DataSource = rs

DataReport離職報表.Show 1

End Sub


Private Sub Command添加_Click()

If 離職添加權限 = False Then

MsgBox "無權限"

Exit Sub

End If

frm離職添加.Show 1

End Sub




Private Sub Form_Load()

'篩選排序變量清空

lz_filter = ""

lz_order = "離職ID DESC"


查詢內容.Visible = True

'--隱藏日期控件

起始日期.Visible = False

截止日期.Visible = False

'--隱藏金額控件

最小.Visible = False

最大.Visible = False

'標簽

Label查詢內容.Visible = True

'--隱藏日期控件

Label起始日期.Visible = False

Label截止日期.Visible = False

'--隱藏金額控件

Label最小.Visible = False

Label最大.Visible = False


'ado控件設置

Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db_rs.mdb;Jet OLEDB:DataBase password=abc123;Persist Security Info=False"

Adodc1.CommandType = adCmdUnknown

Adodc1.RecordSource = 生成查詢語句("離職查詢", lz_filter, lz_order)

Adodc1.Refresh '刷新

'存儲數(shù)據(jù)表格控件與窗體寬高差值

dh = Me.Height - DataGrid1.Height

dw = Me.Width - DataGrid1.Width


End Sub



Function 生成查詢語句(ByVal searchtb As String, ByVal searchfilter As String, ByVal searchorder As String) As String

生成查詢語句 = ""

Dim sqltext As String

sqltext = "Select * From " & searchtb

If searchfilter <> "" Then

sqltext = sqltext & " where " & searchfilter

End If

If searchorder <> "" Then

sqltext = sqltext & " order by " & searchorder

End If

生成查詢語句 = sqltext

End Function


Private Sub Form_Resize()

'窗體大小變化表格控件尺寸改變

If Me.WindowState <> 1 Then

DataGrid1.Height = Me.Height - dh

DataGrid1.Width = Me.Width - dw

End If

End Sub




Private Sub 查詢字段_Click()

If Me.查詢字段 = "離職日期" Then

起始日期.Visible = True

截止日期.Visible = True

最小.Visible = False

最大.Visible = False

查詢內容.Visible = False

起始日期.Value = Date

截止日期.Value = Date

GoTo A1

Else

起始日期.Visible = False

截止日期.Visible = False

最小.Visible = False

最大.Visible = False

查詢內容.Visible = True

End If

If Me.查詢字段 = "數(shù)值" Then

起始日期.Visible = False

截止日期.Visible = False

最小.Visible = True

最大.Visible = True

查詢內容.Visible = False

GoTo A1

Else

起始日期.Visible = False

截止日期.Visible = False

最小.Visible = False

最大.Visible = False

查詢內容.Visible = True

End If

A1:

'標簽

If Me.查詢字段 = "離職日期" Then

Label起始日期.Visible = True

Label截止日期.Visible = True

Label最小.Visible = False

Label最大.Visible = False

Label查詢內容.Visible = False

GoTo a2

Else

Label起始日期.Visible = False

Label截止日期.Visible = False

Label最小.Visible = False

Label最大.Visible = False

Label查詢內容.Visible = True

End If

If Me.查詢字段 = "數(shù)值" Then

Label起始日期.Visible = False

Label截止日期.Visible = False

Label最小.Visible = True

Label最大.Visible = True

Label查詢內容.Visible = False

GoTo a2

Else

Label起始日期.Visible = False

Label截止日期.Visible = False

Label最小.Visible = False

Label最大.Visible = False

Label查詢內容.Visible = True

End If

a2:

End Sub

離職添加


Dim dh As Long '存儲高度差

Dim dw As Long '存儲寬度差




Private Sub Text_DblClick(Index As Integer)

If Index = 3 Then

If Text(3).Text = "" Then

Text(3).Text = Date

Exit Sub

End If

End If

If Index = 0 Then

yg_formname = "frm離職添加"

frm員工選擇.Show 1

End If

End Sub



Private Sub Command清空_Click()

Text(0).Text = ""

Text(1).Text = ""

Text(2).Text = ""

Text(3).Text = ""


Combo1(0).Text = ""

Combo1(1).Text = ""


Combo1(3).Text = ""




End Sub


Private Sub Command添加_Click()

On Error GoTo 錯誤提示

If 離職添加權限 = False Then

MsgBox "無權限"

Exit Sub

End If

'判斷必須輸入數(shù)據(jù)的控件不能為空

If Text(0) = "" Or IsNull(Text(0)) = True Then

MsgBox "員工號值為空!"

Exit Sub

Else

End If




'檢查員工號是否已存在


If dcountlink("員工號", "員工表", "員工號='" & Text(0) & "'", 0) = 0 Then

MsgBox "該員工號不存在,請修改后重試"

Exit Sub

End If




Dim alz_conn As New ADODB.Connection

Dim alz_rs As New ADODB.Recordset

With alz_conn

.ConnectionString = "Provider = microsoft.jet.oledb.4.0;data source=" & App.Path & "\db_rs.mdb;Jet OLEDB:DataBase password=abc123;persist security info=false"

.Open

End With

alz_rs.Open "離職表", alz_conn, adOpenKeyset, adLockOptimistic

alz_rs.AddNew

On Error Resume Next

alz_rs!員工號.Value = Text(0).Text

alz_rs!經(jīng)辦人.Value = Text(1).Text

alz_rs!備注.Value = Text(2).Text

alz_rs!離職日期.Value = Text(3).Text

alz_rs!職位.Value = Combo1(0).Text

alz_rs!所在部門.Value = Combo1(1).Text

alz_rs!離職原因.Value = Combo1(3).Text





alz_rs.Update

alz_rs.Close

Set alz_rs = Nothing

alz_conn.Close

Set alz_conn = Nothing

MsgBox "添加完成"

Call Command清空_Click

Adodc1.Refresh

DataGrid1.Refresh

Exit Sub

錯誤提示:

MsgBox Err.Description, , "錯誤提示"

End Sub


Private Sub Form_Load()


Call 設置部門選項

Call 設置職位選項

Call 設置離職原因選項

'ado控件設置


Me.Adodc1.CommandType = adCmdUnknown

Me.Adodc1.RecordSource = "select * From 離職表 Order By 離職ID DESC"

Me.Adodc1.Refresh '刷新

'


'存儲數(shù)據(jù)表格控件與窗體寬高差值

dh = Me.Height - DataGrid1.Height

dw = Me.Width - DataGrid1.Width


End Sub


Private Sub Form_Resize()

'窗體大小變化表格控件尺寸改變

If Me.WindowState <> 1 Then

DataGrid1.Height = Me.Height - dh

DataGrid1.Width = Me.Width - dw

End If

End Sub


Private Sub Form_Unload(Cancel As Integer)

On Error Resume Next

frm離職查詢.Adodc1.Refresh

frm離職查詢.DataGrid1.Refresh

End Sub




Private Sub Text_LostFocus(Index As Integer)

If Index = 3 Then '輸入日期的文本框失去焦點

If Text(3).Text <> "" And IsDate(Text(3)) = False Then

MsgBox "輸入的數(shù)據(jù)不是日期類型,請重新輸入"

Text(3).Text = ""

Exit Sub

End If

End If

'If Index = 9 Then '輸入日期的文本框失去焦點

' If Text(9).Text <> "" And IsDate(Text(9)) = False Then

' MsgBox "輸入的數(shù)據(jù)不是日期類型,請重新輸入"

' Text(9).Text = ""

' Exit Sub

' End If

'End If

End Sub





Sub 設置部門選項()

Dim i As Long

'-清除選項

Combo1(1).Clear


'-查詢并填充選項

On Error GoTo 查詢失敗錯誤

Dim search_conn As New ADODB.Connection

Dim search_rs As New ADODB.Recordset

With search_conn

.ConnectionString = "Provider = microsoft.jet.oledb.4.0;data source=" & App.Path & "\db_rs.mdb;Jet OLEDB:DataBase password=abc123;persist security info=false"

.Open

End With

Dim search_sql As String

search_sql = "Select * From 部門表"

search_rs.Open search_sql, search_conn, adOpenDynamic, adLockOptimistic

'

Do While search_rs.EOF = False

If search_rs!部門 <> "" Then

Combo1(1).AddItem search_rs!部門


End If

search_rs.MoveNext

Loop

'

search_rs.Close

Set search_rs = Nothing

search_conn.Close

Set search_conn = Nothing

Exit Sub

查詢失敗錯誤:

MsgBox Err.Description, , "錯誤提示"

End Sub



Sub 設置職位選項()

Dim i As Long

'-清除選項

Combo1(0).Clear


'-查詢并填充選項

On Error GoTo 查詢失敗錯誤

Dim search_conn As New ADODB.Connection

Dim search_rs As New ADODB.Recordset

With search_conn

.ConnectionString = "Provider = microsoft.jet.oledb.4.0;data source=" & App.Path & "\db_rs.mdb;Jet OLEDB:DataBase password=abc123;persist security info=false"

.Open

End With

Dim search_sql As String

search_sql = "Select * From 職位表"

search_rs.Open search_sql, search_conn, adOpenDynamic, adLockOptimistic

'

Do While search_rs.EOF = False

If search_rs!職位 <> "" Then

Combo1(0).AddItem search_rs!職位


End If

search_rs.MoveNext

Loop

'

search_rs.Close

Set search_rs = Nothing

search_conn.Close

Set search_conn = Nothing

Exit Sub

查詢失敗錯誤:

MsgBox Err.Description, , "錯誤提示"

End Sub


Sub 設置離職原因選項()

Dim i As Long

'-清除選項

Combo1(3).Clear


'-查詢并填充選項

On Error GoTo 查詢失敗錯誤

Dim search_conn As New ADODB.Connection

Dim search_rs As New ADODB.Recordset

With search_conn

.ConnectionString = "Provider = microsoft.jet.oledb.4.0;data source=" & App.Path & "\db_rs.mdb;Jet OLEDB:DataBase password=abc123;persist security info=false"

.Open

End With

Dim search_sql As String

search_sql = "Select * From 離職原因表"

search_rs.Open search_sql, search_conn, adOpenDynamic, adLockOptimistic

'

Do While search_rs.EOF = False

If search_rs!離職原因 <> "" Then

Combo1(3).AddItem search_rs!離職原因


End If

search_rs.MoveNext

Loop

'

search_rs.Close

Set search_rs = Nothing

search_conn.Close

Set search_conn = Nothing

Exit Sub

查詢失敗錯誤:

MsgBox Err.Description, , "錯誤提示"

End Sub

離職管理


Private Sub Command更新_Click()

On Error GoTo 更新失敗錯誤

If 離職更新權限 = False Then

MsgBox "無權限"

Exit Sub

End If

If MsgBox("是否更新該離職記錄?", vbOKCancel) <> vbOK Then

Exit Sub

End If


If Text(0) = "" Or IsNull(Text(0)) = True Then

MsgBox "員工號值為空!"

Exit Sub

Else

End If



If dcountlink("員工號", "員工表", "員工號='" & Text(0) & "'", 0) = 0 Then

MsgBox "該員工號不存在,請修改后重試"

Exit Sub

End If




'連接數(shù)據(jù)庫并更新

Adodc1.Recordset.Update




MsgBox "更新完成!"

Exit Sub

更新失敗錯誤:

MsgBox Err.Description, , "錯誤提示"

End Sub


Private Sub Command刪除_Click()

On Error GoTo 刪除失敗錯誤

If 離職刪除權限 = False Then

MsgBox "無權限"

Exit Sub

End If

If MsgBox("是否刪除該離職記錄?", vbOKCancel) <> vbOK Then

Exit Sub

End If



Adodc1.Recordset.Delete

MsgBox "刪除完成"

Unload Me


Exit Sub

刪除失敗錯誤:

MsgBox Err.Description, , "錯誤提示"

End Sub




Private Sub Form_Load()

Call 設置部門選項

Call 設置職位選項

Call 設置離職原因選項


'ado控件設置

Me.Adodc1.Refresh '刷新

Me.Adodc1.CommandType = adCmdUnknown

Me.Adodc1.RecordSource = "select * From 離職表 where 離職ID=" & lz_num

Me.Adodc1.Refresh '刷新


End Sub




Private Sub Form_Unload(Cancel As Integer)

On Error Resume Next

frm離職查詢.Adodc1.Refresh

frm離職查詢.DataGrid1.Refresh

End Sub



Private Sub Text_DblClick(Index As Integer)

If Index = 3 Then

If Text(3).Text = "" Then

Text(3).Text = Date

Exit Sub

End If

End If

If Index = 0 Then

yg_formname = "frm離職管理"

frm員工選擇.Show 1

End If

End Sub



Sub 設置部門選項()

Dim i As Long

'-清除選項

Combo1(1).Clear


'-查詢并填充選項

On Error GoTo 查詢失敗錯誤

Dim search_conn As New ADODB.Connection

Dim search_rs As New ADODB.Recordset

With search_conn

.ConnectionString = "Provider = microsoft.jet.oledb.4.0;data source=" & App.Path & "\db_rs.mdb;Jet OLEDB:DataBase password=abc123;persist security info=false"

.Open

End With

Dim search_sql As String

search_sql = "Select * From 部門表"

search_rs.Open search_sql, search_conn, adOpenDynamic, adLockOptimistic

'

Do While search_rs.EOF = False

If search_rs!部門 <> "" Then

Combo1(1).AddItem search_rs!部門


End If

search_rs.MoveNext

Loop

'

search_rs.Close

Set search_rs = Nothing

search_conn.Close

Set search_conn = Nothing

Exit Sub

查詢失敗錯誤:

MsgBox Err.Description, , "錯誤提示"

End Sub



Sub 設置職位選項()

Dim i As Long

'-清除選項

Combo1(0).Clear


'-查詢并填充選項

On Error GoTo 查詢失敗錯誤

Dim search_conn As New ADODB.Connection

Dim search_rs As New ADODB.Recordset

With search_conn

.ConnectionString = "Provider = microsoft.jet.oledb.4.0;data source=" & App.Path & "\db_rs.mdb;Jet OLEDB:DataBase password=abc123;persist security info=false"

.Open

End With

Dim search_sql As String

search_sql = "Select * From 職位表"

search_rs.Open search_sql, search_conn, adOpenDynamic, adLockOptimistic

'

Do While search_rs.EOF = False

If search_rs!職位 <> "" Then

Combo1(0).AddItem search_rs!職位


End If

search_rs.MoveNext

Loop

'

search_rs.Close

Set search_rs = Nothing

search_conn.Close

Set search_conn = Nothing

Exit Sub

查詢失敗錯誤:

MsgBox Err.Description, , "錯誤提示"

End Sub


Sub 設置離職原因選項()

Dim i As Long

'-清除選項

Combo1(3).Clear


'-查詢并填充選項

On Error GoTo 查詢失敗錯誤

Dim search_conn As New ADODB.Connection

Dim search_rs As New ADODB.Recordset

With search_conn

.ConnectionString = "Provider = microsoft.jet.oledb.4.0;data source=" & App.Path & "\db_rs.mdb;Jet OLEDB:DataBase password=abc123;persist security info=false"

.Open

End With

Dim search_sql As String

search_sql = "Select * From 離職原因表"

search_rs.Open search_sql, search_conn, adOpenDynamic, adLockOptimistic

'

Do While search_rs.EOF = False

If search_rs!離職原因 <> "" Then

Combo1(3).AddItem search_rs!離職原因


End If

search_rs.MoveNext

Loop

'

search_rs.Close

Set search_rs = Nothing

search_conn.Close

Set search_conn = Nothing

Exit Sub

查詢失敗錯誤:

MsgBox Err.Description, , "錯誤提示"

End Sub


以上內容僅供參考,如需獲取原文件代碼設計報告等資料,可訪問同名↓







【人事管理信息系統(tǒng)】 設計報告資料和示例代碼分享 VB程序 Access數(shù)據(jù)庫的評論 (共 條)

分享到微博請遵守國家法律
姜堰市| 和平区| 桑植县| 冕宁县| 马边| 隆林| 青海省| 中卫市| 银川市| 雅江县| 义马市| 新津县| 扎赉特旗| 宁德市| 榆社县| 临泽县| 方城县| 邓州市| 永昌县| 彩票| 天全县| 内丘县| 莱芜市| 鸡泽县| 霍邱县| 雷波县| 赤壁市| 沧州市| 梨树县| 镇康县| 甘孜县| 佛山市| 襄垣县| 胶州市| 衡阳市| 兴城市| 湘乡市| 嘉定区| 德钦县| 阳高县| 河西区|