📄 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 + -