📄 main_jbxx_yginf.frm
字号:
Picture = "main_jbxx_yginf.frx":2BD9
Style = 1 'Graphical
TabIndex = 39
Top = 180
Width = 800
End
Begin VB.CommandButton CmdMD
BackColor = &H00FFC0C0&
BeginProperty Font
Name = "宋体"
Size = 12
Charset = 134
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 360
Index = 3
Left = 2655
Picture = "main_jbxx_yginf.frx":40DD
Style = 1 'Graphical
TabIndex = 38
Top = 180
Width = 800
End
Begin VB.CommandButton ComModify
BackColor = &H00C0C0C0&
Caption = "[M]修改"
Height = 360
Left = 5490
Style = 1 'Graphical
TabIndex = 37
Top = 195
Width = 960
End
Begin VB.CommandButton ComExit
BackColor = &H00C0C0C0&
Caption = "[X]退出"
Height = 360
Left = 9375
Style = 1 'Graphical
TabIndex = 36
Top = 195
Width = 960
End
Begin VB.CommandButton ComEsc
BackColor = &H00C0C0C0&
Caption = "[E]取消"
Height = 360
Left = 8415
Style = 1 'Graphical
TabIndex = 35
Top = 195
Width = 960
End
Begin VB.CommandButton ComDelete
BackColor = &H00C0C0C0&
Caption = "[D]删除"
Height = 360
Left = 6465
Style = 1 'Graphical
TabIndex = 34
Top = 195
Width = 960
End
Begin VB.CommandButton ComAdd
BackColor = &H00C0C0C0&
Caption = "[A]添加"
Height = 360
Left = 4500
Style = 1 'Graphical
TabIndex = 33
Top = 195
Width = 960
End
Begin VB.CommandButton ComSave
BackColor = &H00C0C0C0&
Caption = "[S]保存"
Enabled = 0 'False
Height = 360
Left = 7440
Style = 1 'Graphical
TabIndex = 32
Top = 195
Width = 960
End
End
End
Attribute VB_Name = "main_jbxx_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() '定义一个显示数据的函数
If Adodc1.Recordset.Fields("员工编号") <> "" Then Text1(0).Text = Trim(Adodc1.Recordset.Fields("员工编号"))
If Adodc1.Recordset.Fields("员工姓名") <> "" Then Text1(1).Text = Trim(Adodc1.Recordset.Fields("员工姓名"))
If Adodc1.Recordset.Fields("性别") <> "" Then Combo1.Text = Trim(Adodc1.Recordset.Fields("性别"))
If Adodc1.Recordset.Fields("出生日期") <> "" Then MaskEdBox1.Text = Trim(Adodc1.Recordset.Fields("出生日期"))
If Adodc1.Recordset.Fields("文化程度") <> "" Then Combo2.Text = Trim(Adodc1.Recordset.Fields("文化程度"))
If Adodc1.Recordset.Fields("聘用日期") <> "" Then MaskEdBox2.Text = Trim(Adodc1.Recordset.Fields("聘用日期"))
If Adodc1.Recordset.Fields("薪金") <> "" Then Text1(10).Text = Trim(Adodc1.Recordset.Fields("薪金"))
For i = 5 To 9
If Adodc1.Recordset.Fields(i) <> "" Then Text1(i).Text = Trim(Adodc1.Recordset.Fields(i))
Next i
End Sub
Private Sub Form_Activate()
'初始化性别及文化程度
Combo1.AddItem ("男"): Combo1.AddItem ("女"): Combo1.ListIndex = 0
Combo2.AddItem ("大专"): Combo2.AddItem ("大学"): Combo2.AddItem ("其他")
Combo2.ListIndex = 0
'初始化查询内容
Combo4.AddItem ("员工编号"): Combo4.AddItem ("员工姓名"): Combo4.AddItem ("身份证号")
Combo4.ListIndex = 1
If Not Adodc1.Recordset.BOF Then
Adodc1.Recordset.MoveFirst
Call ado_text '调用函数
End If
For i = 5 To 10
Text1(i).Enabled = False
Next i
Combo1.Enabled = False: MaskEdBox1.Enabled = False: Combo2.Enabled = False
MaskEdBox2.Enabled = False
ComSave.Enabled = False
'查询所有员工信息,并按"员工编号"排序
Adodc1.RecordSource = "select * from yginf 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 '回车Text1(1)获得焦点
End Sub
Private Sub Combo2_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Text1(5).SetFocus '回车Text1(5)获得焦点
End Sub
Private Sub MaskEdBox1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Combo2.SetFocus '回车combo2获得焦点
End Sub
Private Sub MaskEdBox2_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Text1(10).SetFocus '回车Text1(10)获得焦点
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 > 4 And Index < 9 Then Text1(Index + 1).SetFocus '回车获得焦点
If KeyCode = vbKeyReturn And Index = 9 Then MaskEdBox2.SetFocus
If KeyCode = vbKeyReturn And Index = 10 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 yginf where (yginf." & Combo4.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 yginf 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 = 5 To 10
Text1(i).Enabled = True
Text1(i).Text = ""
Next i
Combo1.Enabled = True: MaskEdBox1.Enabled = True: Combo2.Enabled = True
MaskEdBox2.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 = 5 To 10
Text1(i).Enabled = True
Next i
Combo1.Enabled = True: MaskEdBox1.Enabled = True: Combo2.Enabled = True
MaskEdBox2.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 yginf where 员工编号='" & Trim(Text1(0).Text) & "'order by 员工编号", cnn, adOpenKeyset, adLockOptimistic
If rs1.RecordCount > 0 Then
Dim myval As String
myval = MsgBox("您确实要修改这条数据吗?", vbYesNo)
If myval = vbYes Then
'修改员工信息
For i = 5 To 9
rs1.Fields(i) = Trim(Text1(i).Text)
Text1(i).Enabled = False
Next i
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(MaskEdBox2.Text)
rs1.Fields("薪金") = Val(Trim(Text1(10).Text))
rs1.Update '更新数据库
Adodc1.Refresh
End If
Else
If Text1(1).Text <> "" And Combo1.Text <> "" Then
'添加员工信息
rs1.AddNew
For i = 5 To 9
rs1.Fields(i) = Trim(Text1(i).Text)
Text1(i).Enabled = False
Next i
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(MaskEdBox2.Text)
rs1.Fields("薪金") = Val(Trim(Text1(10).Text))
rs1.Update '更新数据库
Adodc1.Refresh
Else
MsgBox "请填写完整的信息"
End If
rs1.Close '关闭数据集对象
End If
'设置控件状态
For i = 5 To 10
Text1(i).Enabled = False
Next i
Combo1.Enabled = False: MaskEdBox1.Enabled = False: Combo2.Enabled = False
MaskEdBox2.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 = 5 To 10
Text1(i).Enabled = False
Next i
Combo1.Enabled = False: MaskEdBox1.Enabled = False: Combo2.Enabled = False
MaskEdBox2.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 + -