⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmedit.frm

📁 能够录入人事的基本资料
💻 FRM
📖 第 1 页 / 共 2 页
字号:
      Width           =   1095
   End
   Begin VB.Label Lab 
      Caption         =   "Lab1"
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   9.75
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Index           =   1
      Left            =   360
      TabIndex        =   3
      Top             =   720
      Width           =   1095
   End
   Begin VB.Label Lab 
      Caption         =   "lab0"
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   9.75
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   375
      Index           =   0
      Left            =   360
      TabIndex        =   1
      Top             =   240
      Width           =   1095
   End
End
Attribute VB_Name = "FrmEdit"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
Dim Bupdata As Boolean
Dim i As Integer
Private Sub Cmbdegree_Click()
    If Cmbdegree.Text = "定制" Then
        FrmTable.Show
        Cmbdegree.ListIndex = 0
    End If
    
End Sub

Private Sub Cmbdepart_Click()
    If Cmbdepart.Text = "定制" Then
        FrmTable.Show
        Cmbdepart.ListIndex = 0
    End If
    
End Sub

Private Sub CmdAddNew_Click()
            
    If CmdAddNew.Caption = "添加" Then
    
        CmdAddNew.Caption = "确认"
        CmdDel.Enabled = False
        cmdOK.Enabled = False
        DataA.ReadOnly = False
        For i = 1 To 12
              If Txt(i).Text = "" Then Txt(i).Text = 0 'DataA.Recordset.Fields(i) = 0
                    
        Next i
        DataA.Recordset.AddNew
        Txt(0).Locked = False
   
            
       If FrmMain.cutable = "employee" Then
                                   
            DataA.Recordset.Fields(13) = frmLogin.EmploID
            DataA.Recordset.Fields(14) = Now
            
            If Opsex(0) Then
                DataA.Recordset.Fields(4) = "男"
            Else
                DataA.Recordset.Fields(4) = "女"
            End If
                DataA.Recordset.Fields(7) = Cmbdegree.Text
                DataA.Recordset.Fields(8) = Cmbdepart.Text
        
        ElseIf FrmMain.cutable = "leave" Then
                                    
            DataA.Recordset.Fields(8) = frmLogin.EmploID
            DataA.Recordset.Fields(9) = Now
                 
        Else
                        
            DataA.Recordset.Fields(13) = frmLogin.EmploID
            DataA.Recordset.Fields(14) = Now
        
        End If
               
        Txt(0).SetFocus
    
    Else 'OK
        
        If Txt(0).Text = "" Then
            MsgBox "不可以为空"
            Txt(0).SetFocus
            Exit Sub
        End If
        
        For i = 1 To 12
              If Txt(i).Text = "" Then Txt(i).Text = 0 'DataA.Recordset.Fields(i) = 0
                    
        Next i
    
        If FrmMain.cutable = "employee" Then
                                   
                DataB.Recordset.FindFirst "职工编号=" + Txt(0).Text
            
                If Not DataB.Recordset.NoMatch Then
                    MsgBox "职员编号重复"
                    Txt(0).Text = ""
                    Txt(0).SetFocus
                    Exit Sub
                End If
                
                        
        ElseIf FrmMain.cutable = "leave" Then
            
                DataB.Recordset.FindFirst "假条编号=" + Txt(0).Text
            
                If Not DataB.Recordset.NoMatch Then
                    MsgBox "假条编号重复"
                    Txt(0).Text = ""
                    Txt(0).SetFocus
                    Exit Sub
                End If
                        
                 
        Else
                For i = 4 To 10
                    If Not IsNumeric(Txt(i).Text) Then
                        MsgBox "not a number"
                        Txt(i).SetFocus
                        Exit Sub
                    End If
                    
                Next i
                        
                        
                DataB.Recordset.FindFirst "工资编号=" + Txt(0).Text
            
                If Not DataB.Recordset.NoMatch Then
                    MsgBox "工资编号重复"
                    Txt(0).Text = ""
                    Txt(0).SetFocus
                    Exit Sub
                 End If
                        
        End If


        
            DataA.Recordset.Update
            DataA.Recordset.MoveLast
            FrmMain.DataA.Refresh
            FrmMain.DataB.Refresh
                        
            DataB.Refresh
        
            CmdAddNew.Caption = "添加"
        
            CmdDel.Enabled = True
            cmdOK.Enabled = True
            
             
    
    End If
    
        
End Sub

Private Sub CmdCacel_Click()
    
    If CmdAddNew.Caption = "确认" Then
        DataA.Recordset.CancelUpdate
    End If
       
    
    FrmMain.Enabled = True
    FrmMain.SetFocus
    Unload Me
    FrmMain.DataA.Refresh
    
If FrmMain.cutable = "employee" Then
        FrmMain.DBGA.Columns("性别").Button = True
        FrmMain.DBGA.Columns("学历").Button = True
        FrmMain.DBGA.Columns("部门").Button = True
End If


End Sub

Private Sub CmdDel_Click()
    
    DataA.ReadOnly = False
    DataA.Recordset.Delete
    DataA.Recordset.MoveNext

    If DataA.Recordset.EOF Then
        DataA.Recordset.MoveLast
    End If

    FrmMain.DataA.Refresh


End Sub

Private Sub cmdOK_Click()
        
        If Txt(0).Text = "" Then
            MsgBox "不可以为空"
            Txt(0).SetFocus
            Exit Sub
        End If
    
    Bupdata = False
    
    DataA.Recordset.Edit
    
    If FrmMain.cutable = "leave" Then
            DataA.Recordset.Fields(8) = frmLogin.EmploID
            DataA.Recordset.Fields(9) = Now
      
    ElseIf FrmMain.cutable = "employee" Then
            
            DataA.Recordset.Fields(13) = frmLogin.EmploID
            DataA.Recordset.Fields(14) = Now
            
            If Opsex(0) Then
                DataA.Recordset.Fields(4) = "男"
            Else
                DataA.Recordset.Fields(4) = "女"
            End If
                
            DataA.Recordset.Fields(7) = Cmbdegree.Text
            DataA.Recordset.Fields(8) = Cmbdepart.Text
            DataA.Recordset.Fields(13) = frmLogin.EmploID
            DataA.Recordset.Fields(14) = Now

    Else
                For i = 4 To 10
                    If Not IsNumeric(Txt(i).Text) Then
                        MsgBox "not a number"
                        Txt(i).SetFocus
                       Exit Sub
                    End If
                    
                Next i
    
            DataA.Recordset.Fields(13) = frmLogin.EmploID
            DataA.Recordset.Fields(14) = Now
        
    End If
    
        For i = 1 To 12
              If Txt(i).Text = "" Then Txt(i).Text = 0 'DataA.Recordset.Fields(i) = 0
                    
        Next i
    
        DataA.Recordset.Update
        FrmMain.DataA.Refresh
        DataB.Refresh
    

                     
End Sub


Private Sub DataA_Validate(Action As Integer, Save As Integer)
    
    If Action = 11 And Bupdata Then
        Save = 0

    End If

  
End Sub


Private Sub Txt_KeyPress(Index As Integer, KeyAscii As Integer)
   
   If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> vbKeyBack And Index = 0 Then
            KeyAscii = 0
            Exit Sub
   End If
    
   If FrmMain.cutable = "leave" And Index = 1 Then
        If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> vbKeyBack Then
                KeyAscii = 0
                Exit Sub
        End If
    
   End If
    
  If FrmMain.cutable = "salary" Then
        If Index <= 3 Then
            If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> vbKeyBack Then
                KeyAscii = 0
                Exit Sub
            End If
        
        End If
        
       If Index = 13 Then Exit Sub
         
        If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> vbKeyBack And KeyAscii <> 46 Then
                KeyAscii = 0
            Exit Sub
        End If
    
 End If
   
End Sub
Private Sub Txt_change(Index As Integer)
    
    If Bupdata = False Then Bupdata = True
        
    If FrmMain.cutable = "salary" Then
       
        If Txt(Index).Text = "" Then Exit Sub
            
        If Index >= 4 And Index <= 6 Then
            Txt(7).Text = Val(Txt(4).Text) + Val(Txt(5).Text) + Val(Txt(6).Text)
            Txt(12).Text = Val(Txt(7).Text) - Val(Txt(11).Text)
        End If
        
        If Index >= 8 And Index <= 10 Then
            Txt(11).Text = Val(Txt(8).Text) + Val(Txt(9).Text) + Val(Txt(10).Text)
            Txt(12).Text = Val(Txt(7).Text) - Val(Txt(11).Text)
        End If
    
    End If
    
End Sub

Private Sub Form_Load()
     
    DataA.DatabaseName = App.Path + "\sm.mdb"
    DataB.DatabaseName = App.Path + "\sm.mdb"
    DataA.Caption = FrmMain.cutable
    DataA.RecordSource = "select * from " + FrmMain.cutable
    DataB.RecordSource = "select * from " + FrmMain.cutable
    DataA.Refresh
    
    Txt(0).Locked = True
    
    
    'If FrmMain.DBGA.Row = 0 Then Exit Sub
    
       
    If FrmMain.cutable = "employee" Then        'employee
          
          For i = 0 To 12
            Lab(i).Caption = DataA.Recordset.Fields(i).Name
          Next i
          
            Txt(0).DataField = DataA.Recordset.Fields(0).Name
            Txt(1).DataField = DataA.Recordset.Fields(1).Name
            Txt(2).DataField = DataA.Recordset.Fields(2).Name
            Txt(3).DataField = DataA.Recordset.Fields(3).Name
            Txt(4).Visible = False
            
            Txt(5).DataField = DataA.Recordset.Fields(5).Name
            Txt(6).DataField = DataA.Recordset.Fields(6).Name
              
            Txt(7).Visible = False
            Txt(8).Visible = False
            
            Txt(9).DataField = DataA.Recordset.Fields(9).Name
            Txt(10).DataField = DataA.Recordset.Fields(10).Name
            Txt(11).DataField = DataA.Recordset.Fields(11).Name
            Txt(12).DataField = DataA.Recordset.Fields(12).Name
            Txt(13).DataField = DataA.Recordset.Fields(15).Name
            
            If FrmMain.cuAp > -1 Then
                DataA.Recordset.Move (FrmMain.cuAp)
            Else
                DataA.Recordset.MoveFirst
            End If
          
          If DataA.Recordset.Fields(4) = "男" Then
                Opsex(0).Value = True
          Else
                Opsex(1).Value = True
          End If
                    
 '设置lsdegree的显示项
            
         For i = 0 To FrmMain.LsDegree.ListCount - 2
            
            Cmbdegree.AddItem FrmMain.LsDegree.List(i)
            
            If FrmMain.LsDegree.List(i) = DataA.Recordset.Fields(7) Then
                Cmbdegree.ListIndex = i
                         
            End If
           
         Next i
         
            If Cmbdegree.ListIndex = -1 Then
                 Cmbdegree.AddItem DataA.Recordset.Fields(7)
                 Cmbdegree.ListIndex = Cmbdegree.ListCount - 1
            End If
                Cmbdegree.AddItem "定制"
                        
'设置lsdepart的显示项

         For i = 0 To FrmMain.LsDepart.ListCount - 2
            Cmbdepart.AddItem FrmMain.LsDepart.List(i)
           If FrmMain.LsDepart.List(i) = DataA.Recordset.Fields(8) Then
                Cmbdepart.ListIndex = i
           
           End If
           
         Next i
         
            If Cmbdepart.ListIndex = -1 Then
                 Cmbdepart.AddItem DataA.Recordset.Fields(8)
                 Cmbdepart.ListIndex = Cmbdepart.ListCount - 1
            End If
                Cmbdepart.AddItem "定制"
         
'设置完毕
                                 
    ElseIf FrmMain.cutable = "leave" Then 'leave
    
            Txt(7).Visible = True
            Cmbdegree.Visible = False
            Cmbdepart.Visible = False
            Frame1.Visible = False
            
          For i = 8 To 12
                Lab(i).Visible = False
                Txt(i).Visible = False
          Next i
    
          For i = 0 To 7
            Lab(i).Caption = DataA.Recordset.Fields(i).Name
            Txt(i).DataField = DataA.Recordset.Fields(i).Name
          Next i
            Txt(13).DataField = DataA.Recordset.Fields(10).Name
            
          If FrmMain.cuAp > -1 Then
                DataA.Recordset.Move (FrmMain.cuAp)
          Else
                DataA.Recordset.MoveFirst
          End If
              
    Else         'salary
            
            Frame1.Visible = False
            Cmbdegree.Visible = False
            Cmbdepart.Visible = False
          For i = 0 To 12
            Lab(i).Caption = DataA.Recordset.Fields(i).Name
            Txt(i).DataField = DataA.Recordset.Fields(i).Name
          Next i
            Txt(13).DataField = DataA.Recordset.Fields(15).Name
            
            Txt(7).Locked = True
            Txt(11).Locked = True
            Txt(12).Locked = True
            
         If FrmMain.cuAp > -1 Then
                DataA.Recordset.Move (FrmMain.cuAp)
         Else
                DataA.Recordset.MoveFirst
         End If
               
    End If
       
End Sub


Private Sub Form_Unload(Cancel As Integer)
    FrmMain.Enabled = True
    FrmMain.SetFocus
    Unload Me
    FrmMain.DataB.Refresh
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -