📄 frmedit.frm
字号:
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 + -