?? e考核單生成.frm
字號:
VERSION 5.00
Begin VB.Form E考核單生成
Caption = "考核單生成"
ClientHeight = 2445
ClientLeft = 60
ClientTop = 450
ClientWidth = 5310
LinkTopic = "Form1"
ScaleHeight = 2445
ScaleWidth = 5310
StartUpPosition = 3 '窗口缺省
Begin VB.Frame Frame1
Caption = "考核單生成"
Height = 2415
Index = 0
Left = 0
TabIndex = 0
Top = 0
Width = 5295
Begin VB.CommandButton CmdPrint
BackColor = &H00C0C0C0&
Caption = "打印(&P)"
Height = 360
Left = 1800
Style = 1 'Graphical
TabIndex = 6
Top = 1800
Width = 800
End
Begin VB.CommandButton CmdExit
BackColor = &H00C0C0C0&
Caption = "退出(&E)"
Height = 360
Left = 3000
Style = 1 'Graphical
TabIndex = 5
Top = 1800
Width = 800
End
Begin VB.ComboBox CboQueryBM
Height = 315
Left = 2280
Style = 2 'Dropdown List
TabIndex = 2
Top = 360
Width = 2055
End
Begin VB.ComboBox CboQuery
Height = 315
Left = 2280
Style = 2 'Dropdown List
TabIndex = 1
Top = 840
Width = 2055
End
Begin VB.Label Label8
Caption = "選擇在此的員工:"
Height = 255
Index = 1
Left = 600
TabIndex = 4
Top = 840
Width = 1455
End
Begin VB.Label Label8
Caption = "選擇部門:"
Height = 255
Index = 0
Left = 1200
TabIndex = 3
Top = 360
Width = 975
End
End
End
Attribute VB_Name = "E考核單生成"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim rs As ADODB.Recordset
Dim SQL As String
Dim msg As String
Private Sub Form_Load()
Dim BMName As String '保存部門名稱
'初始化部門
SQL = " select * from 部門信息表" '構造查詢部門信息SQL語句
Set rs = SelectSQL(SQL, msg)
If rs.RecordCount = 0 Then
MsgBox ("請先建立部門信息!")
Exit Sub
Else
Do While Not rs.BOF And Not rs.EOF
'添加到ComboBox列表
Me.CboQueryBM.AddItem (rs.Fields("部門代碼") & rs.Fields("部門名稱"))
rs.MoveNext '指向下一條記錄
Loop
Me.CboQueryBM.ListIndex = 0 '默認ComboBox
rs.Close
End If
'取部門的名稱
BMName = Right(Trim(CboQueryBM.Text), Len(CboQueryBM.Text) - 4)
'初始化員工
SQL = " select 員工ID,姓名 from 員工錄用信息表 where "
SQL = SQL & "受聘部門='" & BMName & "'"
Set rs = SelectSQL(SQL, msg)
If rs.RecordCount = 0 Then
MsgBox ("請先建立當前部門的員工信息!")
Exit Sub
Else
Me.CboQuery.Clear
Me.CboQuery.AddItem ("全部")
Do While Not rs.BOF And Not rs.EOF
'添加到ComboBox列表
Me.CboQuery.AddItem (rs.Fields("員工ID") & rs.Fields("姓名"))
rs.MoveNext '指向下一條記錄
Loop
Me.CboQuery.ListIndex = 0 '默認ComboBox
rs.Close
End If
End Sub
Private Sub CmdPrint_Click()
'打印數據操作
Dim rst As ADODB.Recordset
Dim CboName As String
If CboQuery.Text = "全部" Then '如果選擇打印該部門的全部員工
'得到部門的名稱
CboName = Right(Trim(CboQueryBM.Text), Len(CboQueryBM.Text) - 4)
'構造SQL語句
SQL = " select * from 工作考核信息表 a INNER JOIN 員工錄用信息表 b "
SQL = SQL & "ON a.員工ID=b.員工ID INNER JOIN 部門信息表 c "
SQL = SQL & "ON b.受聘部門 = c.部門名稱 "
SQL = SQL & "where c.部門名稱='" & CboName & "' ORDER BY 工作考核ID"
Set rst = SelectSQL(SQL, msg)
If rst.RecordCount <> 0 Then
Set 考核單報表.DataSource = rst '給報表數據源賦值
考核單報表.Show '顯示報表
End If
Else '如果選擇打印具體的員工
'選擇打印該部門的具體員工
CboName = Left(Trim(CboQuery.Text), 8) '取員工的ID
SQL = " select * from 工作考核信息表 where "
SQL = SQL & "員工ID='" & CboName & "' ORDER BY 工作考核ID"
Set rst = SelectSQL(SQL, msg)
If rst.RecordCount <> 0 Then
Set 考核單報表.DataSource = rst '給報表數據源賦值
考核單報表.Show '顯示報表
Else
MsgBox "此員工還沒有進行工作考核", vbOKOnly + vbInformation, "友情提示!"
End If
End If
End Sub
Private Sub CboQueryBM_click()
'當部門改變時,所在部門的員工也隨之改變
Dim rst As ADODB.Recordset
Dim BMName As String '保存部門名稱
Me.CboQuery.Clear '清空以前的員工
'得到部門的名稱
BMName = Right(Trim(CboQueryBM.Text), Len(CboQueryBM.Text) - 4)
'構造SQL語句
SQL = " select 員工ID,姓名 from 員工錄用信息表 where "
SQL = SQL & "受聘部門='" & BMName & "'"
Set rst = SelectSQL(SQL, msg)
If rst.RecordCount = 0 Then
MsgBox ("請先建立當前部門的員工信息!")
Exit Sub
Else
Me.CboQuery.AddItem ("全部")
Do While Not rst.BOF And Not rst.EOF
'添加到ComboBox列表
Me.CboQuery.AddItem (rst.Fields("員工ID") & rst.Fields("姓名"))
rst.MoveNext '指向下一條記錄
Loop
Me.CboQuery.ListIndex = 0 '默認ComboBox
rst.Close
End If
End Sub
Private Sub CmdExit_Click()
'退出操作
人事管理系統.Enabled = True
Unload Me
End Sub
Private Sub Form_Unload(Cancel As Integer)
'退出操作
人事管理系統.Enabled = True
Unload Me
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -