📄 main_jbxx_yginf.frm
字号:
BackColor = &H00C0C0C0&
Caption = "[&A]添加"
Height = 360
Left = 2955
Style = 1 'Graphical
TabIndex = 32
Top = 180
Width = 960
End
Begin VB.CommandButton ComSave
BackColor = &H00C0C0C0&
Caption = "[&S]保存"
Enabled = 0 'False
Height = 360
Left = 5850
Style = 1 'Graphical
TabIndex = 31
Top = 180
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
Dim txtSQL As String '定义一个字符串变量
Public Sub ViewData() '定义浏览数据的函数
On Error Resume Next
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 DTP1.Value = Trim(Adodc1.Recordset.Fields("出生日期"))
If Adodc1.Recordset.Fields("文化程度") <> "" Then Combo2.Text = Trim(Adodc1.Recordset.Fields("文化程度"))
If Adodc1.Recordset.Fields("聘用日期") <> "" Then DTP2.Value = 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_Load()
'初始化性别及文化程度
Combo1.AddItem ("男")
Combo1.AddItem ("女")
Combo1.ListIndex = 0
Combo2.AddItem ("大专")
Combo2.AddItem ("大学")
Combo2.AddItem ("本科")
Combo2.AddItem ("硕士")
Combo2.AddItem ("其他")
Combo2.ListIndex = 0
'初始化查询条件
Combo3.AddItem ("like")
Combo3.AddItem ("=")
Combo3.AddItem (">=")
Combo3.AddItem ("=<")
Combo3.ListIndex = 0
Combo4.AddItem ("员工编号")
Combo4.AddItem ("员工姓名")
Combo4.AddItem ("性别")
Combo4.AddItem ("文化程度")
Combo4.AddItem ("所属部门")
Combo4.AddItem ("身份证号")
Combo4.ListIndex = 1
Call ViewData '调用函数
'设置控件无效
For i = 5 To 9
Text1(i).Enabled = False
Next i
Text1(1).Enabled = False
Text1(10).Enabled = False
Combo1.Enabled = False
DTP1.Enabled = False
Combo2.Enabled = False
DTP2.Enabled = False
'设置窗体标题栏内容
Me.Caption = Me.Caption & " 操作员: " & frm_main.St1.Panels(3).Text
DTP2.Value = Date
End Sub
Private Sub Form_Unload(Cancel As Integer)
frm_main.Enabled = True '设置frm_main窗体有效
End Sub
Private Sub Combo1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then DTP1.SetFocus '回车Text1(1)获得焦点
If KeyCode = vbKeyUp Then Text1(1).SetFocus
End Sub
Private Sub Combo2_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Text1(5).SetFocus '按回车键Text1(5)获得焦点
If KeyCode = vbKeyUp Then DTP1.SetFocus
End Sub
Private Sub dtp1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Combo2.SetFocus '按回车键combo2获得焦点
If KeyCode = vbKeyUp Then Combo1.SetFocus
End Sub
Private Sub dtp2_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then Text1(10).SetFocus '按回车键Text1(10)获得焦点
If KeyCode = vbKeyUp Then Text1(9).SetFocus
End Sub
Private Sub Text1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
Select Case Index
Case Is = Index
If KeyCode = vbKeyReturn And Index = 1 Then Combo1.SetFocus '按回车键Combo1获得焦点
If KeyCode = vbKeyReturn And Index > 4 And Index < 9 Then Text1(Index + 1).SetFocus '按回车键Text1(Index + 1)获得焦点
If KeyCode = vbKeyReturn And Index = 9 Then DTP2.SetFocus '按回车键DTP2获得焦点
If KeyCode = vbKeyReturn And Index = 10 Then ComSave.SetFocus
If KeyCode = vbKeyUp And Index > 5 And Index < 10 Then Text1(Index - 1).SetFocus '按向上键Text1(Index - 1)获得焦点
If KeyCode = vbKeyUp And Index = 5 Then Combo2.SetFocus '按向上键combo2获得焦点 '
If KeyCode = vbKeyUp And Index = 10 Then DTP2.SetFocus '按向上键dtp2获得焦点
End Select
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() '查询员工信息
Select Case Combo3.Text
Case Is = "like"
Adodc1.RecordSource = "select * from 员工信息表 where (员工信息表." & Combo4.Text & " like +'%'+ '" + Text2.Text + "'+'%')"
Adodc1.Refresh
Case Is = "="
Adodc1.RecordSource = "select * from 员工信息表 where (员工信息表." & Combo4.Text & " = '" + Text2.Text + "')"
Adodc1.Refresh
Case Is = ">"
Adodc1.RecordSource = "select * from 员工信息表 where (员工信息表." & Combo4.Text & " like '" + Text2.Text + "'+ '%')"
Adodc1.Refresh
Case Is = "<"
Adodc1.RecordSource = "select * from 员工信息表 where (员工信息表." & Combo4.Text & " like '%'+'" + Text2.Text + "')"
Adodc1.Refresh
End Select
If Adodc1.Recordset.RecordCount > 0 Then Call ViewData '调用函数
SSTab1.Tab = 1
End Sub
Private Sub ComFirst_Click() '移到第一条记录
If Not Adodc1.Recordset.BOF Then
Adodc1.Recordset.MoveFirst
Call ViewData
End If
End Sub
Private Sub ComPrevious_Click() '移到上一条记录
If Adodc1.Recordset.RecordCount <> 0 Then
If Adodc1.Recordset.BOF = False Then Adodc1.Recordset.MovePrevious
If Adodc1.Recordset.BOF = True Then Adodc1.Recordset.MoveFirst
Call ViewData
End If
End Sub
Private Sub ComNext_Click() '移到下一条记录
If Adodc1.Recordset.RecordCount <> 0 Then
If Adodc1.Recordset.EOF = False Then Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF = True Then Adodc1.Recordset.MoveLast
Call ViewData
End If
End Sub
Private Sub ComLast_Click() '移到最后一条记录
If Not Adodc1.Recordset.EOF Then
Adodc1.Recordset.MoveLast
Call ViewData
End If
End Sub
Private Sub ComAdd_Click()
Dim bh As Integer '定义一个整型变量
txtSQL = "select * from 员工信息表 order by 员工编号"
Set rs1 = ESQL(txtSQL) '执行SQL语句
If rs1.RecordCount > 0 Then '当记录大于零时
If Not rs1.EOF Then rs1.MoveLast '假如记录没到头,那么移到最后一条记录
If rs1.Fields("员工编号") <> "" Then '假如员工编号不等于空
bh = Right(Trim(rs1.Fields("员工编号")), 4) + 1 '赋值给bh
Text1(0).Text = "p" & Format(bh, "0000") '赋值给text1(0).text
End If
Else
Text1(0).Text = "p0001" '给text1(0)赋初值
End If
'设置文本框有效,并清空文本框中的数据
For i = 5 To 10
Text1(i).Enabled = True
Text1(i).Text = ""
Next i
'设置控件有效或无效
Combo1.Enabled = True
DTP1.Enabled = True
Combo2.Enabled = True
DTP2.Enabled = True
Text1(1).Enabled = True
ComSave.Enabled = True
ComEsc.Enabled = True
ComFirst.Enabled = False
ComPrevious.Enabled = False
ComNext.Enabled = False
ComLast.Enabled = False
ComAdd.Enabled = False
ComModify.Enabled = False
ComDelete.Enabled = False
Text1(1).Text = "" '清空文本框中的数据
SSTab1.Tab = 0
Text1(1).SetFocus
End Sub
Private Sub ComModify_Click() '允许用户修改
If Adodc1.Recordset.RecordCount <> 0 Then
For i = 5 To 10
Text1(i).Enabled = True
Next i
Text1(1).Enabled = True
Combo1.Enabled = True
DTP1.Enabled = True
Combo2.Enabled = True
DTP2.Enabled = True
ComSave.Enabled = True
ComEsc.Enabled = True
ComFirst.Enabled = False
ComPrevious.Enabled = False
ComNext.Enabled = False
ComLast.Enabled = False
ComAdd.Enabled = False
ComModify.Enabled = False
ComDelete.Enabled = False
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 ViewData
ComSave.Enabled = False
ComEsc.Enabled = False
ComFirst.Enabled = True
ComPrevious.Enabled = True
ComNext.Enabled = True
ComLast.Enabled = True
ComAdd.Enabled = True
ComModify.Enabled = True
ComDelete.Enabled = True
End If
Else
MsgBox ("没有要删除的数据!")
End If
End Sub
Private Sub ComSave_Click() '保存员工信息
If Text1(1).Text = "" Then
MsgBox "员工姓名不能为空!"
Text1(1).SetFocus
Exit Sub
End If
If Text1(5).Text = "" Then
MsgBox "所属部门不能为空!"
Text1(5).SetFocus
Exit Sub
End If
If Text1(6).Text = "" Then
MsgBox "职务不能为空!"
Text1(6).SetFocus
Exit Sub
End If
txtSQL = "select * from 员工信息表 where 员工编号='" & Trim(Text1(0).Text) & "'order by 员工编号"
Set rs1 = ESQL(txtSQL)
If rs1.RecordCount > 0 Then
Dim a As String
a = MsgBox("您确实要修改这条数据吗?", vbYesNo)
If a = 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(DTP1.Value)
rs1.Fields("文化程度") = Combo2.Text
rs1.Fields("聘用日期") = Trim(DTP2.Value)
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(DTP1.Value)
rs1.Fields("文化程度") = Combo2.Text
rs1.Fields("聘用日期") = Trim(DTP2.Value)
rs1.Fields("薪金") = Val(Trim(Text1(10).Text))
'更新数据库
rs1.Update
Adodc1.Refresh
Else
MsgBox "请填写完整的信息"
End If
End If
'设置控件有效或无效
Text1(1).Enabled = False
Text1(10).Enabled = False
Combo1.Enabled = False
DTP1.Enabled = False
Combo2.Enabled = False
DTP2.Enabled = False
ComSave.Enabled = False
ComEsc.Enabled = False
ComFirst.Enabled = True
ComPrevious.Enabled = True
ComNext.Enabled = True
ComLast.Enabled = True
ComAdd.Enabled = True
ComModify.Enabled = True
ComDelete.Enabled = True
End Sub
Private Sub ComEsc_Click() '取消操作
For i = 5 To 10
Text1(i).Text = ""
Text1(i).Enabled = False
Next i
'清空文本框内数据
Text1(0).Text = ""
Text1(1).Text = ""
Text1(7).Text = ""
'设置控件有效或无效
ComSave.Enabled = False
ComEsc.Enabled = False
ComFirst.Enabled = True
ComPrevious.Enabled = True
ComNext.Enabled = True
ComLast.Enabled = True
ComAdd.Enabled = True
ComModify.Enabled = True
ComDelete.Enabled = True
End Sub
Private Sub ComExit_Click()
frm_main.Enabled = True
Unload Me
End Sub
Private Sub Text2_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then ComFind.SetFocus
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -