📄 teacher.frm
字号:
error:
If ResOpen = 1 Then
RES.Close
ResClose = 1
ResOpen = 0
End If
End Sub
Private Sub Command3_Click()
Call showdata
End Sub
Private Sub Command4_Click()
CHANGE.ActiveConnection = Comsalary
CHANGE.Source = "select * from 工资表"
CHANGE.Open
CHANGE.MoveFirst
While Not CHANGE.EOF
Call refreshsalary(CHANGE.Fields("原工资"), CHANGE.Fields("入校时间"), CHANGE.Fields("赡养人数"))
CHANGE.MoveNext
Wend
Call showdata
CHANGE.Close
End Sub
Private Sub Command5_Click()
Dim Delno As String
Dim Nextres As Integer
If ResOpen = 1 Then
RES.Close
ResOpen = 0
ResClose = 0
End If
Delno = InputBox("输入要删除的教师的序号")
If IsNumeric(Delno) Then
RES.Source = "select *from 工资表"
RES.Open
ResOpen = 1
ResClose = 0
RES.MoveFirst
While Not RES.EOF
Nextres = Nextres + 1
If RES.Fields(0) = Int(Delno) Then
If ResOpen = 1 Then
RES.Close
ResOpen = 0
ResClose = 1
End If
RES.Source = "delete 工资表 where 序号= ' " & Delno & " '"
RES.Open
ResOpen = 1
ResClose = 0
MsgBox " 删除成功"
Me.Adodc1.Refresh
ResOpen = 0
ResClose = 1
Call showdata '刷新显示
ResOpen = 0
ResClose = 1
Exit Sub
Nextres = -1
End If
RES.MoveNext
Wend
If Nextres <> -1 Then
MsgBox "没有此记录 删除失败"
End If
End If
End Sub
Private Sub Command7_Click()
Dim UpdateIndex As String
Dim i As Integer
Dim Upname As String
Dim Upnewsalry As String
Dim Uppeople As String
Dim Uptime As String
If ResOpen = 1 Then
RES.Close
ResOpen = 0
ResClose = 1
End If
UpdateIndex = InputBox("输入要更改教师的序号")
If IsNumeric(UpdateIndex) Then
RES.Source = "select * from 工资表"
RES.Open
ResClose = 0
ResOpen = 1
Else
GoTo error
End If
While Not RES.EOF
'查找你要更新的记录
If RES.Fields(0) = Int(UpdateIndex) Then
i = 1
'查找到 输入新记录信息
'该姓名--------------------------------------------------------
If ResOpen = 1 Then
RES.Close
ResOpen = 0
ResClose = 1
End If
Upname = InputBox("输入新姓名,如果保持原来姓名,单击取消")
If Len(Upname) > 20 Then
MsgBox "姓名长度小于20"
Upname = ""
End If
If Upname <> "" Then
RES.ActiveConnection = Comsalary
RES.Source = "update 工资表 set 姓名 ='" & Upname & "' where 序号= '" & UpdateIndex & "'"
RES.Open
End If
'改日期 ------------------------------------------------------------
Uptime = (InputBox("输入新的入校日期,如果保持原来的值,单击取消"))
If Not IsDate(Uptime) And Uptime <> "" Then
MsgBox "输入的日期格式不能识别"
Uptime = ""
End If
If Uptime <> "" Then
RES.Source = "update 工资表 set 入校时间 ='" & Uptime & "' where 序号= '" & UpdateIndex & "'"
RES.Open
End If
'改工资-------------------------------------------------------------
Upnewsalry = InputBox("输入新的工资,如果保持原来的值,单击取消")
If Not IsNumeric(Upnewsalry) And Upnewsalry <> "" Then
MsgBox "输入错误"
Upnewsalry = ""
End If
If Upnewsalry <> "" Then
RES.Source = "update 工资表 set 原工资 ='" & Upnewsalry & "' where 序号= '" & UpdateIndex & "'"
RES.Open
End If
'改赡养人数-----------------------------------------------------
Uppeople = InputBox("输入新的赡养人数,如果保持原来的值,单击取消")
If Not IsNumeric(Uppeople) And Uppeople <> "" Then
MsgBox "输入错误"
Uppeople = ""
End If
If Uppeople <> "" Then
RES.Source = "update 工资表 set 赡养人数 ='" & Uppeople & "' where 序号= '" & UpdateIndex & "'"
RES.Open
'更改后退出 自动关闭游标
End If
Call showdata
ResOpen = 0
ResClose = 1
Exit Sub
End If
RES.MoveNext
Wend
If i <> 1 Then
MsgBox "不存在序号为 " & UpdateIndex & " 的教师 更新无法完成"
GoTo error
End If
Firstupdate = 9
'未更改退出,关闭游标
RES.Close
ResClose = 1
ResOpen = 0
error:
End Sub
Private Sub Command6_Click()
End
End Sub
Private Sub edition_Click()
Form4.Show
End Sub
Private Sub exit_Click()
End
End Sub
Private Sub Form_load()
ResClose = 1
If ResClose = 1 Then
RES.ActiveConnection = Comsalary
Firstadd = 1
Firstupdate = 1
End If
Call showdata
End Sub
'显示列表
Public Sub showdata()
'游标的SQL语句
'RES.Close
If ResOpen = 1 Then '若游标打开,则关闭他重新打开
RES.Close
ResClose = 0
ResOpen = 1
End If
'重新用查询语句将游标打开
RES.ActiveConnection = Comsalary
RES.Source = "select * from 工资表"
RES.Open
ResOpen = 1
ResClose = 0
Me.List1.Clear '清空列表
'当游标指向的记录存在时操作
Me.List1.List(0) = RES.Fields(0).Name & " " & RES.Fields(1).Name & " " & RES.Fields(2).Name & " " & RES.Fields(3).Name & " " & RES.Fields(4).Name & " " & RES.Fields(5).Name
Index = 1
RES.MoveFirst
While Not RES.EOF
For num = 0 To RES.Fields.Count - 1
Me.List1.List(Index) = Me.List1.List(Index) & RES.Fields(num) & " "
Next
RES.MoveNext
Index = Index + 1
Wend
RES.Close
ResClose = 1
ResOpen = 0
End Sub
Public Sub refreshsalary(sa As Long, year As Date, people As Long)
Dim OP As Long
Dim OY As Integer
If ResOpen = 1 Then
RES.Close
ResOpen = 0
ResClose = 1
End If
OY = Now - year
OY = OY / 365
If Int(year) < 0 Then
MsgBox "工龄为负数,计算终止"
End
End If
If Int(people) < 0 Then
MsgBox "赡养人数为负数,计算终止"
End
End If
If sa > 26000 Then
OP = sa
Else
OP = sa + 100 * people + Int(OY) * 50
If OP > 26000 Then
OP = 26000
End If
End If
RES.Source = "update 工资表 set 更改工资 = '" & OP & "' where 原工资 = '" & sa & "'"
RES.Open
ResClose = 1
ResOpen = 0
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -