📄 main_kqgl_gcqj_addmodify.frm
字号:
VERSION 5.00
Object = "{86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCT2.OCX"
Object = "{C932BA88-4374-101B-A56C-00AA003668DC}#1.1#0"; "MSMASK32.OCX"
Begin VB.Form main_kqgl_gcqj_addModify
BorderStyle = 1 'Fixed Single
ClientHeight = 3900
ClientLeft = 45
ClientTop = 330
ClientWidth = 4545
Icon = "main_kqgl_gcqj_addModify.frx":0000
LinkTopic = "Form1"
MaxButton = 0 'False
MDIChild = -1 'True
MinButton = 0 'False
ScaleHeight = 3900
ScaleWidth = 4545
Begin VB.CommandButton cmdOK
Caption = "确定"
Height = 360
Left = 945
TabIndex = 11
Top = 3345
Width = 1095
End
Begin VB.CommandButton cmdCancel
Caption = "取消"
Height = 360
Left = 2310
TabIndex = 10
Top = 3345
Width = 1095
End
Begin VB.Frame Frame2
Height = 30
Left = 30
TabIndex = 9
Top = 3105
Width = 4440
End
Begin VB.TextBox txtCause
Height = 300
Left = 660
TabIndex = 8
Top = 2625
Width = 3165
End
Begin VB.ComboBox cboStyle
Height = 300
Left = 660
TabIndex = 6
Top = 1920
Width = 3165
End
Begin VB.Frame Frame1
Caption = "起止时间"
Height = 1245
Left = 435
TabIndex = 0
Top = 135
Width = 3750
Begin MSComCtl2.DTPicker DTPStartDate
Height = 315
Left = 450
TabIndex = 2
Top = 315
Width = 1800
_ExtentX = 3175
_ExtentY = 556
_Version = 393216
Format = 59834369
CurrentDate = 39457
End
Begin MSComCtl2.DTPicker DTPEndDate
Height = 315
Left = 450
TabIndex = 3
Top = 720
Width = 1800
_ExtentX = 3175
_ExtentY = 556
_Version = 393216
Format = 59834369
CurrentDate = 39457
End
Begin MSMask.MaskEdBox MaskEdBoxTime1
Height = 315
Left = 2280
TabIndex = 4
Top = 315
Width = 990
_ExtentX = 1746
_ExtentY = 556
_Version = 393216
AllowPrompt = -1 'True
AutoTab = -1 'True
HideSelection = 0 'False
MaxLength = 5
Format = "hh:mm"
Mask = "##:##"
PromptChar = "0"
End
Begin MSMask.MaskEdBox MaskEdBoxTime2
Height = 315
Left = 2280
TabIndex = 12
Top = 720
Width = 990
_ExtentX = 1746
_ExtentY = 556
_Version = 393216
AllowPrompt = -1 'True
AutoTab = -1 'True
HideSelection = 0 'False
MaxLength = 5
Format = "hh:mm AM/PM"
Mask = "##:##"
PromptChar = "0"
End
Begin VB.Label Label1
BackStyle = 0 'Transparent
Caption = "从 到"
Height = 840
Left = 195
TabIndex = 1
Top = 390
Width = 240
End
End
Begin VB.Label Label3
BackStyle = 0 'Transparent
Caption = "原因:"
Height = 225
Left = 720
TabIndex = 7
Top = 2370
Width = 1170
End
Begin VB.Label Label2
BackStyle = 0 'Transparent
Caption = "请选择公出或请假的类型:"
Height = 240
Left = 720
TabIndex = 5
Top = 1560
Width = 2520
End
End
Attribute VB_Name = "main_kqgl_gcqj_addModify"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim rs As New ADODB.Recordset
Private Sub Form_Load()
'向公出或请假类型(cboStyle)列表中添加公出或请假类型
cboStyle.AddItem "公出": cboStyle.AddItem "病假": cboStyle.AddItem "婚假"
cboStyle.AddItem "事假": cboStyle.AddItem "探亲假"
cboStyle.ListIndex = 3 '设置列表默认内容是"事假"
End Sub
Private Sub cmdOK_Click()
Dim myday As Long, myminute As Long '定义长整型变量,分别存储天数和分钟
If blnAddGCQJ = True Then '如果标记为True(添加数据)
With main_kqgl_gcqj
rs.Open "select * from 公出请假记录表", cnn, adOpenKeyset, adLockOptimistic '连接公出请假记录表
For i = 0 To .lstEmployee.ListCount - 1 '遍历员工列表
If .lstEmployee.Selected(i) = True Then '如果列表项被选定
rs.AddNew '添加新记录
'为表中各字段赋值
rs.Fields("员工编号") = Left(.lstEmployee.List(i), 5)
rs.Fields("员工姓名") = Mid(.lstEmployee.List(i), 6, Len(.lstEmployee.List(i)))
rs.Fields("假别") = cboStyle.Text
rs.Fields("开始时间") = DTPStartDate.Value & " " & MaskEdBoxTime1.Text
rs.Fields("结束时间") = DTPEndDate.Value & " " & MaskEdBoxTime2.Text
rs.Fields("原因") = txtCause
rs.Fields("录入日期") = Now '录入日期为系统日期
myday = DateDiff("d", DTPStartDate.Value, DTPEndDate.Value) '计算天数
myminute = DateDiff("n", MaskEdBoxTime1.Text, MaskEdBoxTime2.Text) '计算分钟
If myday <> 0 Then '如果天数不等于零
rs.Fields("请假时间") = myday & "天" & Round(myminute / 60, 1) & "小时" '请假时间为天和小时
Else '否则
rs.Fields("请假时间") = Round(myminute / 60, 1) & "小时" '请假时间按小时计算
End If
rs.Update '更新数据表
End If
Next i
rs.Close '半闭数据集对象
.Adodc1.Refresh '刷新数据表
End With
Else
With main_kqgl_gcqj
For i = 0 To .lstEmployee.ListCount - 1 '遍历员工列表
If .lstEmployee.Selected(i) = True Then '如果列表项被选定
rs.Open "select * from 公出请假记录表 where 员工编号='" + Left(.lstEmployee.List(i), 5) + "'", cnn, adOpenKeyset, adLockOptimistic '查找选定员工
If rs.RecordCount > 0 Then '如果该员工存在
'给表中各字段赋新值
rs.Fields("假别") = cboStyle.Text
rs.Fields("开始时间") = DTPStartDate.Value & " " & MaskEdBoxTime1.Text
rs.Fields("结束时间") = DTPEndDate.Value & " " & MaskEdBoxTime2.Text
rs.Fields("原因") = txtCause
rs.Fields("录入日期") = Now '录入日期为系统日期
myday = DateDiff("d", DTPStartDate.Value, DTPEndDate.Value) '计算天数
myminute = DateDiff("n", MaskEdBoxTime1.Text, MaskEdBoxTime2.Text) '计算分钟
If myday <> 0 Then '如果天数不等于零
rs.Fields("请假时间") = myday & "天" & Round(myminute / 60, 1) & "小时" '请假时间为天和小时
Else '否则
rs.Fields("请假时间") = Round(myminute / 60, 1) & "小时" '请假时间按小时计算
End If
rs.Update '更新数据表
rs.Close '关闭数据集对象
End If
End If
Next i
.Adodc1.Refresh '刷新数据表
End With
End If
End Sub
Private Sub cmdCancel_Click()
Unload Me
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -