📄 manworker.frm
字号:
VERSION 5.00
Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "MSFLXGRD.OCX"
Begin VB.Form manWorker
Caption = "人员管理"
ClientHeight = 4155
ClientLeft = 60
ClientTop = 345
ClientWidth = 3960
LinkTopic = "Form1"
ScaleHeight = 4155
ScaleWidth = 3960
StartUpPosition = 1 '所有者中心
Begin VB.CommandButton Command1
Caption = "增 加"
Height = 255
Left = 2880
TabIndex = 5
Top = 240
Width = 855
End
Begin VB.TextBox Text2
Height = 270
Left = 1200
TabIndex = 4
Top = 720
Width = 1335
End
Begin VB.TextBox Text1
Height = 270
Left = 1200
TabIndex = 3
Top = 240
Width = 1335
End
Begin MSFlexGridLib.MSFlexGrid WorkerGrid
Height = 2775
Left = 0
TabIndex = 0
Top = 1320
Width = 3975
_ExtentX = 7011
_ExtentY = 4895
_Version = 393216
AllowUserResizing= 1
End
Begin VB.Label Label2
AutoSize = -1 'True
Caption = "员工姓名:"
Height = 180
Left = 120
TabIndex = 2
Top = 840
Width = 900
End
Begin VB.Label label1
AutoSize = -1 'True
Caption = "员工号:"
Height = 180
Left = 120
TabIndex = 1
Top = 360
Width = 720
End
End
Attribute VB_Name = "manWorker"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim Workers As Long '员工总数
Private Sub Command1_Click()
Dim NewWorkerID As Integer
Dim NewWorkerName As String
On Error GoTo Err1
NewWorkerID = Format(Text1.Text) '得到员工号
NewWorkerName = Trim(Text2.Text) '得到员工姓名
If (NewWorkerID < 1) Or (NewWorkerID > 255) Then GoTo Err1 '员工号判断
If (NewWorkerName = "") Then GoTo Err1 '员工名判断
'New Data
Set tblWorker = Nothing
Set tblWorker = DBF.OpenRecordset("SELECT * " & _
" FROM " & tblWorkerStr & _
" WHERE WorkerID = " & NewWorkerID)
With tblWorker
If Not .EOF Then GoTo Err1
.AddNew
!WorkerId = NewWorkerID
!WorkerName = NewWorkerName
!Date = Date
.Update
End With
GoTo NoErr1
Err1:
MsgBox "错误的员工号或员工名,请重新输入!"
NoErr1:
On Error GoTo 0
InitGrid
End Sub
Private Sub InitGrid()
'初始化数据表格
'打开人员表
Set tblWorker = DBF.OpenRecordset("SELECT * " & _
" FROM " & tblWorkerStr & _
" ORDER BY WorkerID")
WorkerGrid.Clear
WorkerGrid.FormatString = "|^ 姓 名 |^工 号|^ 建档日期 "
With tblWorker
.MoveLast
Workers = .RecordCount
WorkerGrid.Rows = Workers + 1
.MoveFirst
For i = 1 To Workers
WorkerGrid.Row = i
WorkerGrid.Col = 1
WorkerGrid = !WorkerName
WorkerGrid.Col = 2
WorkerGrid = !WorkerId
WorkerGrid.Col = 3
WorkerGrid = !Date
.MoveNext
Next i
End With
End Sub
Private Sub Form_Load()
'初始化
InitGrid
End Sub
Private Sub Form_Unload(Cancel As Integer)
frmMain.InitComWorker
End Sub
Private Sub WorkerGrid_DblClick()
Dim NewWorkerName As String
Dim NewWorkerID As Byte
On Error GoTo Err1
Select Case WorkerGrid.Col
Case 1
NewWorkerName = InputBox("请输入新的员工姓名!", "修改姓名")
WorkerGrid.Col = 2
NewWorkerID = Format(WorkerGrid)
WorkerGrid.Col = 1
Case 2
NewWorkerID = InputBox("请输入新的员工号!", "修改员工号")
WorkerGrid.Col = 1
NewWorkerName = WorkerGrid
WorkerGrid.Col = 2
End Select
If (NewWorkerID < 1) Or (NewWorkerID > 255) Then GoTo Err1 '员工号判断
If (NewWorkerName = "") Then GoTo Err1 '员工名判断
Dim tempstr As String
Set tblWorker = DBF.OpenRecordset("SELECT * " & _
" FROM " & tblWorkerStr & _
" WHERE WorkerID = " & NewWorkerID)
With tblWorker
If (WorkerGrid.Col = 2) And Not .EOF Then GoTo Err1
WorkerGrid.Col = 2
tempstr = "是否将编号为:" & WorkerGrid & " 的员工:"
WorkerGrid.Col = 1
tempstr = tempstr & WorkerGrid & "修改为:" & vbCrLf
tempstr = tempstr & NewWorkerName & ";员工号:" & NewWorkerID
If MsgBox(tempstr, vbYesNo) = vbYes Then
'del Data
WorkerGrid.Col = 2
DelWorker WorkerGrid
'New Data
.AddNew
!WorkerId = NewWorkerID
!WorkerName = NewWorkerName
!Date = Date
.Update
End If
End With
GoTo NoErr1
Err1:
MsgBox "错误的员工号或员工名,请重新输入!"
NoErr1:
On Error GoTo 0
InitGrid
End Sub
Private Sub WorkerGrid_KeyUp(KeyCode As Integer, Shift As Integer)
If (KeyCode = 46) And (Shift = 0) Then 'DEL键删除
WorkerGrid.Col = 0
If MsgBox("是否删除:" & WorkerGrid, vbYesNo) = vbYes Then
WorkerGrid.Col = 2
DelWorker WorkerGrid
End If
End If
End Sub
Private Sub DelWorker(ByVal DelWorkerID As Long)
Set tblWorker = DBF.OpenRecordset("SELECT * " & _
" FROM " & tblWorkerStr & _
" WHERE WorkerID = " & DelWorkerID)
With tblWorker
If .RecordCount >= 1 Then
.Delete
End If
InitGrid
End With
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -