📄 main_htgl_yginf.frm
字号:
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
Begin MSAdodcLib.Adodc Adodc2
Height = 375
Left = 0
Top = 0
Visible = 0 'False
Width = 1200
_ExtentX = 2117
_ExtentY = 661
ConnectMode = 0
CursorLocation = 3
IsolationLevel = -1
ConnectionTimeout= 15
CommandTimeout = 30
CursorType = 3
LockType = 3
CommandType = 8
CursorOptions = 0
CacheSize = 50
MaxRecords = 0
BOFAction = 0
EOFAction = 0
ConnectStringType= 1
Appearance = 1
BackColor = -2147483643
ForeColor = -2147483640
Orientation = 0
Enabled = -1
Connect = ""
OLEDBString = ""
OLEDBFile = ""
DataSourceName = ""
OtherAttributes = ""
UserName = ""
Password = ""
RecordSource = ""
Caption = "Adodc2"
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "宋体"
Size = 9
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
_Version = 393216
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(Format(.Fields("出生日期"), "yyyy-mm-dd"))
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(Format(.Fields("聘用日期"), "yyyy-mm-dd"))
If .Fields("薪金") <> "" Then Text1(5).Text = Trim(.Fields("薪金"))
End With
End Sub
Private Sub Form_Activate()
'初始化性别及文化程度
Combo1.AddItem ("男"): Combo1.AddItem ("女"): Combo1.ListIndex = 0
'初始化查询内容
Combo5.AddItem ("员工编号"): Combo5.AddItem ("员工姓名"): Combo5.AddItem ("身份证号")
Combo5.ListIndex = 1
'学历类型
Adodc2.RecordSource = "select * from 项目编码 where 编码 like 'XL%' order by 名称"
Adodc2.Refresh
While Not Adodc2.Recordset.EOF
Me.Combo2.AddItem Adodc2.Recordset.Fields("名称")
If Adodc2.Recordset.Fields("首选项") = "是" Then
Me.Combo2.Text = Adodc2.Recordset.Fields("名称")
End If
Adodc2.Recordset.MoveNext
Wend
Adodc2.Recordset.Close
'打开连接
rs1.Open "select 部门 from 部门 group by 部门", My_PROVIDER, 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 级别名称", My_PROVIDER, 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 & " " & admin
End Sub
Private Sub Form_Load()
'窗口显示位置
Me.Left = MDIForm1.Picture1.Width
Me.Top = (MDIForm1.Height - Me.Height) / 2
Adodc1.ConnectionString = My_PROVIDER
Adodc2.ConnectionString = My_PROVIDER
Adodc1.RecordSource = "select * from 员工信息表"
Adodc1.Refresh
End Sub
Private Sub Form_Unload(Cancel As Integer)
MDIForm1.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 ComSave.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(5).SetFocus
End Sub
Private Sub Text1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn And Index = 0 Then Text1(1).SetFocus
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 Text1(3).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
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 员工编号", My_PROVIDER, 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
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("您确实要删除员工 {" & Adodc1.Recordset.Fields("员工姓名") & "} 的信息吗?", 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() '保存员工信息
On Error Resume Next
Set rs1 = New ADODB.Recordset
rs1.Open "select * from 员工信息表 where 员工编号='" & Trim(Text1(0).Text) & "'order by 员工编号", My_PROVIDER, 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()
MDIForm1.Enabled = True
Unload Me
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -