📄 main_htgl_yginf.frm
字号:
BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED}
Type = 0
Format = ""
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 2052
SubFormatType = 0
EndProperty
EndProperty
BeginProperty Column11
DataField = "薪金"
Caption = "薪金"
BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED}
Type = 0
Format = ""
HaveTrueFalseNull= 0
FirstDayOfWeek = 0
FirstWeekOfYear = 0
LCID = 2052
SubFormatType = 0
EndProperty
EndProperty
SplitCount = 1
BeginProperty Split0
BeginProperty Column00
ColumnWidth = 840.189
EndProperty
BeginProperty Column01
ColumnWidth = 945.071
EndProperty
BeginProperty Column02
ColumnWidth = 645.165
EndProperty
BeginProperty Column03
ColumnWidth = 1590.236
EndProperty
BeginProperty Column04
ColumnWidth = 900.284
EndProperty
BeginProperty Column05
ColumnWidth = 989.858
EndProperty
BeginProperty Column06
ColumnWidth = 900.284
EndProperty
BeginProperty Column07
ColumnWidth = 1409.953
EndProperty
BeginProperty Column08
ColumnWidth = 1049.953
EndProperty
BeginProperty Column09
ColumnWidth = 1679.811
EndProperty
BeginProperty Column10
ColumnWidth = 1635.024
EndProperty
BeginProperty Column11
ColumnWidth = 764.787
EndProperty
EndProperty
End
End
End
Attribute VB_Name = "main_htgl_yginf"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim i As Integer '定义整型变量
Dim rs1 As New ADODB.Recordset '定义数据集对象
Public Sub ado_text() '定义一个显示数据的函数
With Adodc1.Recordset
If .Fields("员工编号") <> "" Then Text1(0).text = Trim(.Fields("员工编号"))
If .Fields("员工姓名") <> "" Then Text1(1).text = Trim(.Fields("员工姓名"))
If .Fields("性别") <> "" Then Combo1.text = Trim(.Fields("性别"))
If .Fields("出生日期") <> "" Then MaskEdBox1.text = Trim(.Fields("出生日期"))
If .Fields("文化程度") <> "" Then Combo2.text = Trim(.Fields("文化程度"))
If .Fields("身份证号") <> "" Then Text1(2).text = Trim(.Fields("身份证号"))
If .Fields("所属部门") <> "" Then Combo3.text = Trim(.Fields("所属部门"))
If .Fields("员工级别") <> "" Then Combo4.text = Trim(.Fields("员工级别"))
If .Fields("联系电话") <> "" Then Text1(3).text = Trim(.Fields("联系电话"))
If .Fields("联系地址") <> "" Then Text1(4).text = Trim(.Fields("联系地址"))
If .Fields("聘用日期") <> "" Then MaskEdBox2.text = Trim(.Fields("聘用日期"))
If .Fields("薪金") <> "" Then Text1(5).text = Trim(.Fields("薪金"))
End With
End Sub
Private Sub Form_Activate()
'初始化性别及文化程度
Combo1.AddItem ("男"): Combo1.AddItem ("女"): Combo1.ListIndex = 0
Combo2.AddItem ("大专"): Combo2.AddItem ("大学"): Combo2.AddItem ("其他")
Combo2.ListIndex = 0
'初始化查询内容
Combo5.AddItem ("员工编号"): Combo5.AddItem ("员工姓名"): Combo5.AddItem ("身份证号")
Combo5.ListIndex = 1
'打开连接
rs1.Open "select 部门名称 from 部门信息表 group by 部门名称", cnn, adOpenKeyset, adLockOptimistic
If rs1.BOF = False Then rs1.MoveFirst
For i = 0 To rs1.RecordCount - 1
Combo3.AddItem (Trim(rs1.Fields("部门名称")))
rs1.MoveNext
Next i
If Combo3.ListCount > 0 Then Combo3.ListIndex = 0
rs1.Close
'打开连接
rs1.Open "select 级别名称 from 员工级别表 group by 级别名称", cnn, adOpenKeyset, adLockOptimistic
If rs1.BOF = False Then rs1.MoveFirst
For i = 0 To rs1.RecordCount - 1
Combo4.AddItem (Trim(rs1.Fields("级别名称")))
rs1.MoveNext
Next i
If Combo4.ListCount > 0 Then Combo4.ListIndex = 0
rs1.Close
If Not Adodc1.Recordset.BOF Then
Adodc1.Recordset.MoveFirst
Call ado_text '调用函数
End If
For i = 1 To 5
Text1(i).Enabled = False
Next i
Combo1.Enabled = False: MaskEdBox1.Enabled = False: Combo2.Enabled = False
MaskEdBox2.Enabled = False: Combo3.Enabled = False: Combo4.Enabled = False
ComSave.Enabled = False
'查询所有员工信息,并按"员工编号"排序
Adodc1.RecordSource = "select * from 员工信息表 order by 员工编号"
Adodc1.Refresh
Me.Caption = Me.Caption & " " & frm_main.St1.Panels(3).text
End Sub
Private Sub Form_Unload(Cancel As Integer)
frm_main.Enabled = True
End Sub
Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then MaskEdBox1.SetFocus '回车获得焦点
End Sub
Private Sub Combo2_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Text1(2).SetFocus '回车获得焦点
End Sub
Private Sub MaskEdBox1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Combo2.SetFocus '回车获得焦点
End Sub
Private Sub MaskEdBox2_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Text1(5).SetFocus '回车获得焦点
End Sub
Private Sub Combo3_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Combo4.SetFocus
End Sub
Private Sub Combo4_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Text1(3).SetFocus
End Sub
Private Sub Text1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn And Index = 1 Then Combo1.SetFocus '回车获得焦点
If KeyCode = vbKeyReturn And Index = 2 Then Combo3.SetFocus
If KeyCode = vbKeyReturn And Index = 3 Then Text1(4).SetFocus '回车获得焦点
If KeyCode = vbKeyReturn And Index = 4 Then MaskEdBox2.SetFocus
If KeyCode = vbKeyReturn And Index = 5 Then ComSave.SetFocus
End Sub
Private Sub SSTab1_Click(PreviousTab As Integer)
If Adodc1.Recordset.RecordCount <> 0 Then
If SSTab1.Tab = 1 And ComAdd.Enabled = False Then
MsgBox ("您正在处理数据,请取消数据处理,在执行本操作!")
SSTab1.Tab = 0
End If
End If
End Sub
Private Sub Comfind_Click() '查询员工信息
Adodc1.RecordSource = "select * from 员工信息表 where (员工信息表." & Combo5.text & " like + '" + Text2.text + "'+'%')"
Adodc1.Refresh
SSTab1.Tab = 1
End Sub
Private Sub CmdMD_Click(Index As Integer)
Select Case Index
Case Is = 0 '移到第一条记录
If Not Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst
Case Is = 1 '移到上一条记录
If Adodc1.Recordset.RecordCount <> 0 Then
If Adodc1.Recordset.BOF = False Then Adodc1.Recordset.MovePrevious
If Adodc1.Recordset.BOF = True Then Adodc1.Recordset.MoveFirst
End If
Case Is = 2 '移到下一条记录
If Adodc1.Recordset.RecordCount <> 0 Then
If Adodc1.Recordset.EOF = False Then Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF = True Then Adodc1.Recordset.MoveLast
End If
Case Is = 3 '移到最后一条记录
If Adodc1.Recordset.EOF = False Then Adodc1.Recordset.MoveLast
End Select
Call ado_text '调用函数
End Sub
Private Sub ComAdd_Click() '添加
Dim bh As Integer '定义一个整型变量
Set rs1 = New ADODB.Recordset
'打开连接
rs1.Open "select * from 员工信息表 order by 员工编号", cnn, adOpenKeyset, adLockOptimistic
'创建员工编号
If rs1.RecordCount > 0 Then
If Not rs1.EOF Then rs1.MoveLast
If rs1.Fields("员工编号") <> "" Then
bh = Right(Trim(rs1.Fields("员工编号")), 4) + 1
Text1(0).text = "p" & Format(bh, "0000")
End If
Else
Text1(0).text = "p0001"
End If
rs1.Close
For i = 1 To 5
Text1(i).Enabled = True
Text1(i).text = ""
Next i
Combo1.Enabled = True: MaskEdBox1.Enabled = True: Combo2.Enabled = True
MaskEdBox2.Enabled = True: Combo3.Enabled = True: Combo4.Enabled = True
ComSave.Enabled = True: ComEsc.Enabled = True: ComAdd.Enabled = False
ComModify.Enabled = False: ComDelete.Enabled = False
For i = 0 To 3
CmdMD(i).Enabled = False
Next i
SSTab1.Tab = 0
Text1(1).SetFocus 'text1(1)获得焦点
End Sub
Private Sub ComModify_Click() '允许修改员工信息
If Adodc1.Recordset.RecordCount <> 0 Then
For i = 1 To 5
Text1(i).Enabled = True
Next i
Combo1.Enabled = True: MaskEdBox1.Enabled = True: Combo2.Enabled = True
MaskEdBox2.Enabled = True: Combo3.Enabled = True: Combo4.Enabled = True
ComSave.Enabled = True: ComEsc.Enabled = True: ComAdd.Enabled = False
ComModify.Enabled = False: ComDelete.Enabled = False
For i = 0 To 3
CmdMD(i).Enabled = False
Next i
Else
MsgBox ("没有要修改的数据!")
End If
End Sub
Private Sub ComDelete_Click() '删除员工信息
If Adodc1.Recordset.RecordCount > 0 Then
a = MsgBox("您确实要删除这条数据吗?", vbYesNo)
If a = vbYes Then
Adodc1.Recordset.Delete
Adodc1.Refresh
If Adodc1.Recordset.RecordCount <> 0 Then
Call ado_text '调用函数
End If
ComSave.Enabled = False: ComEsc.Enabled = False: ComAdd.Enabled = True
ComModify.Enabled = True
For i = 0 To 3
CmdMD(i).Enabled = True
Next i
End If
Else
MsgBox ("没有要删除的数据!")
End If
End Sub
Private Sub ComSave_Click() '保存员工信息
Set rs1 = New ADODB.Recordset
rs1.Open "select * from 员工信息表 where 员工编号='" & Trim(Text1(0).text) & "'order by 员工编号", cnn, adOpenKeyset, adLockOptimistic
If rs1.RecordCount > 0 Then
Dim a As String
a = MsgBox("您确实要修改这条数据吗?", vbYesNo)
If a = vbYes Then
'修改员工信息
rs1.Fields("员工编号") = Trim(Text1(0).text)
rs1.Fields("员工姓名") = Trim(Text1(1).text)
rs1.Fields("性别") = Combo1.text
rs1.Fields("出生日期") = Trim(MaskEdBox1.text)
rs1.Fields("文化程度") = Combo2.text
rs1.Fields("身份证号") = Trim(Text1(2).text)
rs1.Fields("所属部门") = Combo3.text
rs1.Fields("员工级别") = Combo4.text
rs1.Fields("联系电话") = Trim(Text1(3).text)
rs1.Fields("联系地址") = Trim(Text1(4).text)
rs1.Fields("聘用日期") = Trim(MaskEdBox2.text)
rs1.Fields("薪金") = Val(Trim(Text1(5).text))
rs1.Update '更新数据库
Adodc1.Refresh
End If
Else
If Text1(1).text <> "" And Combo1.text <> "" Then
'添加员工信息
rs1.AddNew
rs1.Fields("员工编号") = Trim(Text1(0).text)
rs1.Fields("员工姓名") = Trim(Text1(1).text)
rs1.Fields("性别") = Combo1.text
rs1.Fields("出生日期") = Trim(MaskEdBox1.text)
rs1.Fields("文化程度") = Combo2.text
rs1.Fields("身份证号") = Trim(Text1(2).text)
rs1.Fields("所属部门") = Combo3.text
rs1.Fields("员工级别") = Combo4.text
rs1.Fields("联系电话") = Trim(Text1(3).text)
rs1.Fields("联系地址") = Trim(Text1(4).text)
rs1.Fields("聘用日期") = Trim(MaskEdBox2.text)
rs1.Fields("薪金") = Val(Trim(Text1(5).text))
rs1.Update '更新数据库
Adodc1.Refresh
Else
MsgBox "请填写完整的信息"
End If
End If
rs1.Close '关闭数据集对象
'设置控件状态
For i = 1 To 5
Text1(i).Enabled = False
Next i
Combo1.Enabled = False: MaskEdBox1.Enabled = False: Combo2.Enabled = False
MaskEdBox2.Enabled = False: Combo3.Enabled = False: Combo4.Enabled = False
ComSave.Enabled = False: ComEsc.Enabled = False: ComAdd.Enabled = True
ComModify.Enabled = True: ComDelete.Enabled = True
For i = 0 To 3
CmdMD(i).Enabled = True
Next i
End Sub
Private Sub ComEsc_Click() '取消操作
If Not Adodc1.Recordset.BOF Then
Adodc1.Recordset.MoveFirst
Call ado_text '调用函数
End If
For i = 1 To 5
Text1(i).Enabled = False
Next i
Combo1.Enabled = False: MaskEdBox1.Enabled = False: Combo2.Enabled = False
MaskEdBox2.Enabled = False: Combo3.Enabled = False: Combo4.Enabled = False
ComSave.Enabled = False: ComEsc.Enabled = False: ComAdd.Enabled = True
ComModify.Enabled = True: ComDelete.Enabled = True
For i = 0 To 3
CmdMD(i).Enabled = True
Next i
End Sub
Private Sub ComExit_Click()
frm_main.Enabled = True
Unload Me
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -