📄 c工资标准.frm
字号:
Caption = "补贴:"
Height = 255
Left = 2640
TabIndex = 5
Top = 720
Width = 615
End
End
Begin VB.Frame Frame1
Caption = "标识信息"
Height = 2655
Left = -74760
TabIndex = 1
Top = 480
Width = 5055
Begin VB.TextBox txtDJName
Height = 375
Left = 1440
MaxLength = 10
TabIndex = 12
Top = 1320
Width = 2175
End
Begin VB.TextBox txtGZID
Height = 375
Left = 1440
MaxLength = 4
TabIndex = 10
Top = 600
Width = 1575
End
Begin VB.Label Label8
Caption = "(4位)"
ForeColor = &H000000FF&
Height = 255
Index = 1
Left = 3240
TabIndex = 11
Top = 720
Width = 615
End
Begin VB.Label Label1
Caption = "等级名称:"
Height = 255
Left = 480
TabIndex = 3
Top = 1320
Width = 975
End
Begin VB.Label Label2
Caption = "工资等级ID:"
Height = 255
Left = 360
TabIndex = 2
Top = 720
Width = 1215
End
End
End
End
Attribute VB_Name = "C工资标准"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim rs As ADODB.Recordset
Dim SQL As String
Dim msg As String
Dim Index As Integer
Dim flag As String '判断是新增记录还是修改记录
Private Sub Form_Load()
Call LoadData '装载数据
Call ShowData '显示数据
End Sub
Private Sub LoadData()
'装载数据
Set rs = Nothing
'查询工资标准信息
SQL = "SELECT * FROM 工资标准信息表 ORDER BY 工资等级ID "
Set rs = SelectSQL(SQL, msg)
If rs.RecordCount = 0 Then '如果不存在记录
'编辑控件可用性
CmdAdd.Enabled = True: CmdModify.Enabled = False: CmdDelete.Enabled = False
CmdCancel.Enabled = False: CmdSave.Enabled = False
'移动控件不可用
For Index = 0 To 3
CmdMove(Index).Enabled = False
Next Index
Else
'编辑控件可用性
CmdAdd.Enabled = True: CmdModify.Enabled = True: CmdDelete.Enabled = True
CmdCancel.Enabled = False: CmdSave.Enabled = False
'移动控件可用
For Index = 0 To 3
CmdMove(Index).Enabled = True
Next Index
End If
'设置控件Enable值
Call ControlEnable(False)
End Sub
Private Sub ControlEnable(flag As Boolean)
'设置控件的Enable值
Dim Index As Integer
Me.txtGZID.Enabled = flag
Me.txtDJName.Enabled = flag
For Index = 0 To 7
txt(Index).Enabled = flag
Next
End Sub
Private Sub ShowData()
'在控件中显示数据
If rs.RecordCount <> 0 Then '如果存在记录
'为控件赋值
Me.txtGZID.Text = rs.Fields("工资等级ID")
Me.txtDJName.Text = rs.Fields("等级名称")
Me.txt(0).Text = rs.Fields("底薪")
Me.txt(1).Text = rs.Fields("补贴")
Me.txt(2).Text = rs.Fields("奖金")
Me.txt(3).Text = rs.Fields("车补")
Me.txt(4).Text = rs.Fields("房补")
Me.txt(5).Text = rs.Fields("养老金")
Me.txt(6).Text = rs.Fields("医疗保险")
Me.txt(7).Text = rs.Fields("住房公积金")
End If
End Sub
Private Sub CmdMove_Click(Index As Integer)
'移动记录
Select Case Index
Case Is = 0 '移到第一条记录
If Not rs.BOF Then rs.MoveFirst
Case Is = 1 '移到上一条记录
If rs.RecordCount <> 0 Then
If rs.BOF = False Then rs.MovePrevious
If rs.BOF = True Then rs.MoveFirst
End If
Case Is = 2 '移到下一条记录
If rs.RecordCount <> 0 Then
If rs.EOF = False Then rs.MoveNext
If rs.EOF = True Then rs.MoveLast
End If
Case Is = 3 '移到最后一条记录
If rs.RecordCount <> 0 Then
If Not rs.EOF = True Then rs.MoveLast
End If
End Select
Call ShowData '重新显示数据
End Sub
Private Sub CmdAdd_Click()
'添加操作
'所有控件重置
Call ControlClear
'设置控件Enable值为可用
Call ControlEnable(True)
'设置标志flag,表示所进行的操作为添加
flag = "Add"
'所有移动按钮不可用
For Index = 0 To 3
CmdMove(Index).Enabled = False
Next Index
'添加、修改、删除按钮不可用,取消、保存按钮可用
CmdAdd.Enabled = False: CmdModify.Enabled = False: CmdDelete.Enabled = False
CmdCancel.Enabled = True: CmdSave.Enabled = True
End Sub
Private Sub ControlClear()
'重置控件
Dim Index As Integer
Me.txtGZID.Text = ""
Me.txtDJName.Text = ""
For Index = 0 To 7
txt(Index).Text = ""
Next
End Sub
Private Sub CmdModify_Click()
'修改操作
If rs.RecordCount > 0 Then '如果存在记录
'工资等级ID不可以修改,其他控件可用
Me.txtGZID.Enabled = False
'设置控件Enable值
Call ControlEnable(True)
'设置标志flag,表示所进行的操作为修改
flag = "Modify"
'移动控件不可用
For Index = 0 To 3
CmdMove(Index).Enabled = False
Next Index
'添加、修改、删除按钮不可用,取消、保存按钮可用
CmdAdd.Enabled = False: CmdModify.Enabled = False: CmdDelete.Enabled = False
CmdCancel.Enabled = True: CmdSave.Enabled = True
Else
MsgBox ("没有可以修改的数据!")
End If
End Sub
Private Sub CmdDelete_Click()
'删除操作
On Error GoTo ErrMsg '错误处理
If rs.RecordCount > 0 Then
msg = MsgBox("删除该条记录吗?", vbYesNo)
If msg = vbYes Then
rs.Delete '删除记录
Call LoadData '重新装载数据
Call ShowData '重新显示数据
Call ControlClear '清空控件
'设置控件Enable值为不可用
Call ControlEnable(False)
'所有移动控件不可用
If rs.RecordCount = 0 Then
For Index = 0 To 3
CmdMove(Index).Enabled = False
Next Index
End If
'添加、删除按钮可用,修改、取消、保存按钮不可用
CmdAdd.Enabled = True: CmdModify.Enabled = False: CmdDelete.Enabled = True
CmdSave.Enabled = False: CmdCancel.Enabled = False
MsgBox ("成功删除的数据!")
End If
Else
MsgBox ("没有可删除的数据!")
End If
Exit Sub
ErrMsg: '报告出错信息
MsgBox Err.Description, vbExclamation, "出错"
End Sub
Private Sub CmdSave_Click()
'保存操作
On Error GoTo ErrMsg '错误处理
If Not CheckData Then Exit Sub '如果数据不合法就退出
If flag = "Modify" Then '如果是修改数据
msg = MsgBox("您确实要修改这条数据吗?", vbYesNo)
If msg = vbYes Then
Call setData '设置数据
Else
Exit Sub
End If
ElseIf flag = "Add" Then '如果是添加新数据
rs.AddNew
Call setData '设置数据
End If
rs.Update '更新数据
'移动控件可用
For Index = 0 To 3
CmdMove(Index).Enabled = True
Next Index
'编辑控件的可用性
CmdModify.Enabled = True: CmdDelete.Enabled = True: CmdAdd.Enabled = True
CmdSave.Enabled = False: CmdCancel.Enabled = False
If flag = "Add" Then
MsgBox ("成功添加数据!")
Else
MsgBox ("成功更新数据!")
End If
Call LoadData '重新装载数据
'定位到添加或修改记录
If rs.RecordCount > 0 Then
rs.MoveFirst
rs.Find ("工资等级ID='" & Trim(Me.txtGZID.Text) & "'")
If Not rs.EOF Then Call ShowData '重新显示数据
End If
Exit Sub
ErrMsg: '报告出错信息
MsgBox Err.Description, vbExclamation, "出错"
End Sub
Private Function CheckData() As Boolean
'检查数据的合法性
Dim rst As ADODB.Recordset
Dim msgt As String
msgt = ""
'检查数据
If Trim(txtGZID.Text) = "" Then '检查工资等级ID是否为空
msgt = "工资等级ID为空; "
ElseIf Not Len(Trim(txtGZID.Text)) = 4 Then '检查工资等级ID是否为4位
msgt = "工资等级ID不是4位; "
ElseIf Trim(txtDJName.Text) = "" Then '检查等级名称是否为空
msgt = msgt & " 等级名称为空; "
ElseIf Trim(txt(0).Text) = "" Then '检查底薪是否为空
msgt = msgt & " 底薪为空; "
End If
If Not msgt = "" Then '如果不为空,给出错误提示
MsgBox (msgt)
CheckData = False '返回False
Exit Function
End If
'检查唯一性
SQL = " select * from 工资标准信息表 where 工资等级ID='" & Trim(txtGZID.Text) & "'"
Set rst = SelectSQL(SQL, msg)
'如果是进行添加操作且已经存在该记录,提示重复添加
If flag = "Add" And rst.RecordCount > 0 Then
MsgBox ("该信息已经存在,重复添加!")
rst.Close
CheckData = False '返回False
Exit Function
End If
CheckData = True '合法返回True
End Function
Private Sub setData()
'为字段设置数据
rs.Fields("工资等级ID") = Me.txtGZID.Text
rs.Fields("等级名称") = Me.txtDJName.Text
For Index = 0 To 7
If txt(Index).Text <> "" Then
rs.Fields(Index + 2) = txt(Index).Text
Else
rs.Fields(Index + 2) = 0
End If
Next Index
End Sub
Private Sub cmdCancel_Click()
'取消操作
Call ShowData '重新在控件中显示信息
'所有移动控件可用
If rs.RecordCount > 0 Then
For Index = 0 To 3
CmdMove(Index).Enabled = True
Next Index
End If
'设置控件Enable值为不可用
Call ControlEnable(False)
'修改、删除、添加按钮可用,保存和取消按钮不可用
CmdAdd.Enabled = True: CmdModify.Enabled = True: CmdDelete.Enabled = True
CmdSave.Enabled = False: CmdCancel.Enabled = False
End Sub
Private Sub CmdExit_Click()
'退出操作
人事管理系统.Enabled = True
Unload Me
End Sub
Private Sub Form_Unload(Cancel As Integer)
'退出操作
人事管理系统.Enabled = True
rs.Close
Unload Me
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -