ChangeEvent.frm
上传用户:cntx88
上传日期:2022-08-07
资源大小:169k
文件大小:7k
源码类别:

企业管理

开发平台:

Visual Basic

  1. VERSION 5.00
  2. Object = "{86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCT2.OCX"
  3. Begin VB.Form ChangeEvent 
  4.    Caption         =   "定位考勤记录"
  5.    ClientHeight    =   4500
  6.    ClientLeft      =   60
  7.    ClientTop       =   450
  8.    ClientWidth     =   3780
  9.    LinkTopic       =   "Form1"
  10.    ScaleHeight     =   4500
  11.    ScaleWidth      =   3780
  12.    StartUpPosition =   3  'Windows Default
  13.    Begin VB.Frame Frame1 
  14.       Caption         =   "定位预修改的考勤记录"
  15.       Height          =   4215
  16.       Left            =   120
  17.       TabIndex        =   0
  18.       Top             =   120
  19.       Width           =   3495
  20.       Begin VB.CommandButton Command2 
  21.          Cancel          =   -1  'True
  22.          Caption         =   "取消修改"
  23.          Height          =   495
  24.          Left            =   240
  25.          TabIndex        =   7
  26.          Top             =   3480
  27.          Width           =   3015
  28.       End
  29.       Begin VB.CommandButton Command1 
  30.          Caption         =   "定位考勤记录"
  31.          Default         =   -1  'True
  32.          Height          =   495
  33.          Left            =   240
  34.          TabIndex        =   6
  35.          Top             =   2880
  36.          Width           =   3015
  37.       End
  38.       Begin VB.ComboBox TypeCombo 
  39.          Height          =   300
  40.          Left            =   240
  41.          TabIndex        =   5
  42.          Top             =   2280
  43.          Width           =   3015
  44.       End
  45.       Begin MSComCtl2.DTPicker DTPicker1 
  46.          Height          =   375
  47.          Left            =   240
  48.          TabIndex        =   3
  49.          Top             =   1440
  50.          Width           =   3015
  51.          _ExtentX        =   5318
  52.          _ExtentY        =   661
  53.          _Version        =   393216
  54.          Format          =   662831105
  55.          CurrentDate     =   38011
  56.       End
  57.       Begin VB.TextBox User 
  58.          Appearance      =   0  'Flat
  59.          Height          =   270
  60.          Left            =   240
  61.          TabIndex        =   1
  62.          Top             =   600
  63.          Width           =   3015
  64.       End
  65.       Begin VB.Label Label4 
  66.          Caption         =   "考勤类别"
  67.          Height          =   255
  68.          Left            =   240
  69.          TabIndex        =   8
  70.          Top             =   2040
  71.          Width           =   1455
  72.       End
  73.       Begin VB.Label Label3 
  74.          Caption         =   "考勤记录时间"
  75.          Height          =   255
  76.          Left            =   240
  77.          TabIndex        =   4
  78.          Top             =   1200
  79.          Width           =   1575
  80.       End
  81.       Begin VB.Label Label1 
  82.          Caption         =   "员工ID号"
  83.          Height          =   255
  84.          Left            =   240
  85.          TabIndex        =   2
  86.          Top             =   360
  87.          Width           =   1455
  88.       End
  89.    End
  90. End
  91. Attribute VB_Name = "ChangeEvent"
  92. Attribute VB_GlobalNameSpace = False
  93. Attribute VB_Creatable = False
  94. Attribute VB_PredeclaredId = True
  95. Attribute VB_Exposed = False
  96. Option Explicit
  97. Private Sub Command1_Click()
  98.     Dim sql As String
  99.     Dim rs As New ADODB.Recordset
  100.     Dim i As Integer
  101.     
  102.     If TypeCombo.ListIndex = -1 Then        '列表框必须选定考勤类别
  103.         MsgBox "考勤类别不能为空!", vbCritical
  104.         TypeCombo.SetFocus
  105.         Exit Sub
  106.     End If
  107.     If User.Text = "" Then      '文本框必须输入员工ID
  108.         MsgBox "员工ID不能为空!", vbCritical
  109.         User.SetFocus
  110.         Exit Sub
  111.     End If
  112.     If DbHandle.DbConnection Then
  113.         sql = "TBL_WORK"        '查看数据库中是否存在预想修改的数据库记录
  114.         rs.CursorType = adOpenDynamic
  115.         rs.LockType = adLockOptimistic
  116.         rs.Filter = "WORK_ID='" & User.Text & "' AND WORK_DATE='" & DTPicker1.Value & "' AND WORK_TYPE=" & Str(TypeCombo.ListIndex + 1)
  117.         rs.Open sql, DbFinance
  118.         If DbHandle.resultcount(rs) <> 1 Then   '不存在显示错误窗体,并且关闭数据库退出
  119.             MsgBox "错误,不存在的考勤记录!", vbExclamation
  120.             User.SetFocus
  121.             rs.Close
  122.             Set rs = Nothing
  123.             DbHandle.DbClose
  124.             Exit Sub
  125.         End If
  126.         ChangeEvent2.TypeCombo.Clear        '存在考勤记录,设置修改考勤记录对话框的窗体元素属性
  127.         For i = 0 To TypeCombo.ListCount - 1        '设置考勤类别下拉列表
  128.             ChangeEvent2.TypeCombo.AddItem (TypeCombo.List(i))
  129.             ChangeEvent2.TypeCombo.ItemData(ChangeEvent2.TypeCombo.NewIndex) = TypeCombo.ItemData(i)
  130.         Next i
  131.         ChangeEvent2.TypeCombo.ListIndex = TypeCombo.ListIndex      '设置默认值为记录中各个字段的原始值
  132.         ChangeEvent2.User.Text = rs("WORK_ID")
  133.         ChangeEvent2.EvtTime.Text = rs("WORK_TIME")
  134.         ChangeEvent2.DTPicker1.Value = DTPicker1.Value
  135.         ChangeEvent2.Cancel = True      '修改考勤记录对话框是否按确定退出
  136.         ChangeEvent2.Show 1     '显示模式修改考勤记录对话框
  137.         If ChangeEvent2.Cancel Then     '如果修改考勤记录对话框是按确定退出就修改当前考勤记录
  138.             rs("WORK_ID") = ChangeEvent2.User.Text
  139.             rs("WORK_DATE") = ChangeEvent2.DTPicker1.Value
  140.             rs("WORK_TIME") = Val(ChangeEvent2.EvtTime.Text)
  141.             rs("WORK_TYPE") = ChangeEvent2.TypeCombo.ItemData(ChangeEvent2.TypeCombo.ListIndex)
  142.             rs.Update
  143.             MsgBox "考勤记录成功修改!"
  144.         End If
  145.         rs.Close    '关闭数据库结果集,返回主窗体
  146.         Unload Me
  147.     Else        '数据库连接打开失败则退出
  148.         MsgBox "数据库错误!", vbExclamation
  149.         DbHandle.DbClose
  150.         End
  151.     End If
  152. End Sub
  153. Private Sub Command2_Click()
  154.     Me.Hide     '返回主窗体
  155. End Sub
  156. Private Sub Form_Load()
  157.     Dim sql As String
  158.     Dim rs As New ADODB.Recordset
  159.     
  160.     Me.Left = (Screen.Width - Me.ScaleWidth) / 2        '窗体居中显示
  161.     Me.Top = (Screen.Height - Me.ScaleHeight) / 2
  162.     If DbHandle.DbConnection Then       '提取考勤类别表中静态记录
  163.         sql = "TBL_TYPE"
  164.         rs.CursorType = adOpenDynamic
  165.         rs.LockType = adLockOptimistic
  166.         rs.Filter = ""
  167.         rs.Open sql, DbFinance
  168.         
  169.         Do While rs.EOF = False     '循环加入下拉列表
  170.             TypeCombo.AddItem (rs("TYPE_NAME"))
  171.             TypeCombo.ItemData(TypeCombo.NewIndex) = rs("TYPE_ID")
  172.             rs.MoveNext
  173.         Loop
  174.         rs.Close        '释放结果集,关闭数据库
  175.         Set rs = Nothing
  176.         DbHandle.DbClose
  177.     Else        '打开连接失败则退出
  178.         MsgBox "数据库错误!", vbExclamation
  179.         DbHandle.DbClose
  180.         End
  181.     End If
  182. End Sub
  183. Private Sub Form_Unload(Cancel As Integer)
  184.     On Error Resume Next
  185.     DbHandle.DbClose        '窗体退出关闭数据库连接
  186. End Sub