📄 manualinput.frm
字号:
Else
Dim num
'先关闭原来打开的记录集
Rs.Close
'重新打开一个,但游标类型要变
Rs.CursorType = adOpenKeyset
'删除前一年数据
Conn.Execute "Delete From ManualInput Where No<=366"
Rs.Open "Select * From ManualInput"
'所有序号都减小
Do
num = Rs.Fields("No")
num = num - 366
Rs.Fields("No") = num
Rs.MoveNext
Loop Until Rs.EOF
Rs.MovePrevious
Rs.Update
'减操作完毕,再次关闭记录集
Rs.Close
'再次打开记录集,增加记录
Rs.CursorType = adOpenKeyset
Rs.Open "Select * From ManualInput"
RecordCount = Rs.RecordCount
RecordCount = RecordCount + 1
Rs.AddNew
Rs.Fields("No") = RecordCount
Rs.Fields("ReportTime") = CDate(Text1.Text)
Rs.Fields("Num1_M") = Val(Text2.Text)
Rs.Fields("Num1_H") = Val(Text3.Text)
Rs.Fields("Num1_L") = Val(Text4.Text)
Rs.Fields("BOD_M") = Val(Text5.Text)
Rs.Fields("BOD_H") = Val(Text6.Text)
Rs.Fields("BOD_L") = Val(Text7.Text)
Rs.Fields("PH_M") = Val(Text8.Text)
Rs.Fields("PH_H") = Val(Text9.Text)
Rs.Fields("PH_L") = Val(Text10.Text)
Rs.Fields("SS_M") = Val(Text11.Text)
Rs.Fields("SS_H") = Val(Text12.Text)
Rs.Fields("SS_L") = Val(Text13.Text)
Rs.Fields("Water1") = Val(Text14.Text)
Rs.Fields("Water2") = Val(Text15.Text)
Rs.Fields("WorkTime") = Val(Text16.Text)
Rs.Fields("Mud") = Val(Text17.Text)
Rs.Fields("Num2") = Val(Text18.Text)
Rs.Update
Rs.Close
End If
End Sub
Private Sub Command3_Click()
'修改记录
Beep
Dim Response
Response = MsgBox("你确定要修改数据吗?", vbYesNo + vbQuestion, "询问")
If Response = vbYes Then
Dim strquery As String
Set Rs.ActiveConnection = Conn
Rs.LockType = adLockOptimistic
Rs.CursorType = adOpenKeyset
strquery = "Select * From ManualInput " & "Where No=" & CInt(Text0.Text)
Rs.Open strquery
Rs.Fields("ReportTime") = CDate(Text1.Text)
Rs.Fields("Num1_M") = Val(Text2.Text)
Rs.Fields("Num1_H") = Val(Text3.Text)
Rs.Fields("Num1_L") = Val(Text4.Text)
Rs.Fields("BOD_M") = Val(Text5.Text)
Rs.Fields("BOD_H") = Val(Text6.Text)
Rs.Fields("BOD_L") = Val(Text7.Text)
Rs.Fields("PH_M") = Val(Text8.Text)
Rs.Fields("PH_H") = Val(Text9.Text)
Rs.Fields("PH_L") = Val(Text10.Text)
Rs.Fields("SS_M") = Val(Text11.Text)
Rs.Fields("SS_H") = Val(Text12.Text)
Rs.Fields("SS_L") = Val(Text13.Text)
Rs.Fields("Water1") = Val(Text14.Text)
Rs.Fields("Water2") = Val(Text15.Text)
Rs.Fields("WorkTime") = Val(Text16.Text)
Rs.Fields("Mud") = Val(Text17.Text)
Rs.Fields("Num2") = Val(Text18.Text)
Rs.Update
Rs.Close
End If
End Sub
Private Sub Command4_Click()
'退出
Conn.Close
End
End Sub
Private Sub Command5_Click()
'第一条记录
Set Rs.ActiveConnection = Conn
Rs.LockType = adLockOptimistic
Rs.CursorType = adOpenForwardOnly
Rs.Open "Select * From ManualInput"
Rs.MoveFirst
Dim Min, Current
Min = Rs.Fields("No")
Do While Not Rs.EOF
Current = Rs.Fields("No")
If Current < Min Then
Min = Current
End If
Rs.MoveNext
Loop
Rs.Close
Rs.Open "Select * From ManualInput Where No=" & Min
Text0.Text = Rs.Fields("No")
Text1.Text = Rs.Fields("ReportTime")
Text2.Text = Rs.Fields("Num1_M")
Text3.Text = Rs.Fields("Num1_H")
Text4.Text = Rs.Fields("Num1_L")
Text5.Text = Rs.Fields("BOD_M")
Text6.Text = Rs.Fields("BOD_H")
Text7.Text = Rs.Fields("BOD_L")
Text8.Text = Rs.Fields("PH_M")
Text9.Text = Rs.Fields("PH_H")
Text10.Text = Rs.Fields("PH_L")
Text11.Text = Rs.Fields("SS_M")
Text12.Text = Rs.Fields("SS_H")
Text13.Text = Rs.Fields("SS_L")
Text14.Text = Rs.Fields("Water1")
Text15.Text = Rs.Fields("Water2")
Text16.Text = Rs.Fields("WorkTime")
Text17.Text = Rs.Fields("Mud")
Text18.Text = Rs.Fields("Num2")
Rs.Close
End Sub
Private Sub Command6_Click()
'前一条记录
Dim strquery As String
Set Rs.ActiveConnection = Conn
Rs.CursorType = adOpenDynamic
strquery = "Select * From ManualInput"
Rs.Open strquery
Rs.Find ("No=" & CInt(Text0.Text))
Rs.MovePrevious
If (Rs.BOF) Then Rs.MoveFirst
Text0.Text = Rs.Fields("No")
Text1.Text = Rs.Fields("ReportTime")
Text2.Text = Rs.Fields("Num1_M")
Text3.Text = Rs.Fields("Num1_H")
Text4.Text = Rs.Fields("Num1_L")
Text5.Text = Rs.Fields("BOD_M")
Text6.Text = Rs.Fields("BOD_H")
Text7.Text = Rs.Fields("BOD_L")
Text8.Text = Rs.Fields("PH_M")
Text9.Text = Rs.Fields("PH_H")
Text10.Text = Rs.Fields("PH_L")
Text11.Text = Rs.Fields("SS_M")
Text12.Text = Rs.Fields("SS_H")
Text13.Text = Rs.Fields("SS_L")
Text14.Text = Rs.Fields("Water1")
Text15.Text = Rs.Fields("Water2")
Text16.Text = Rs.Fields("WorkTime")
Text17.Text = Rs.Fields("Mud")
Text18.Text = Rs.Fields("Num2")
Rs.Close
End Sub
Private Sub Command7_Click()
'后一条记录
Dim strquery As String
Set Rs.ActiveConnection = Conn
Rs.CursorType = adOpenDynamic
strquery = "Select * From ManualInput"
Rs.Open strquery
Rs.Find ("No=" & CStr(CInt(Text0.Text)))
Rs.MoveNext
If (Rs.EOF) Then Rs.MoveLast
Text0.Text = Rs.Fields("No")
Text1.Text = Rs.Fields("ReportTime")
Text2.Text = Rs.Fields("Num1_M")
Text3.Text = Rs.Fields("Num1_H")
Text4.Text = Rs.Fields("Num1_L")
Text5.Text = Rs.Fields("BOD_M")
Text6.Text = Rs.Fields("BOD_H")
Text7.Text = Rs.Fields("BOD_L")
Text8.Text = Rs.Fields("PH_M")
Text9.Text = Rs.Fields("PH_H")
Text10.Text = Rs.Fields("PH_L")
Text11.Text = Rs.Fields("SS_M")
Text12.Text = Rs.Fields("SS_H")
Text13.Text = Rs.Fields("SS_L")
Text14.Text = Rs.Fields("Water1")
Text15.Text = Rs.Fields("Water2")
Text16.Text = Rs.Fields("WorkTime")
Text17.Text = Rs.Fields("Mud")
Text18.Text = Rs.Fields("Num2")
Rs.Close
End Sub
Private Sub Command8_Click()
'最近的一条记录
Set Rs.ActiveConnection = Conn
Rs.LockType = adLockOptimistic
Rs.CursorType = adOpenForwardOnly
Rs.Open "Select * From ManualInput"
Rs.MoveFirst
Dim Max, Current
Max = Rs.Fields("No")
Do While Not Rs.EOF
Current = Rs.Fields("No")
If Current > Max Then
Max = Current
End If
Rs.MoveNext
Loop
Rs.Close
Rs.Open "Select * From ManualInput Where No=" & Max
Text0.Text = Rs.Fields("No")
Text1.Text = Rs.Fields("ReportTime")
Text2.Text = Rs.Fields("Num1_M")
Text3.Text = Rs.Fields("Num1_H")
Text4.Text = Rs.Fields("Num1_L")
Text5.Text = Rs.Fields("BOD_M")
Text6.Text = Rs.Fields("BOD_H")
Text7.Text = Rs.Fields("BOD_L")
Text8.Text = Rs.Fields("PH_M")
Text9.Text = Rs.Fields("PH_H")
Text10.Text = Rs.Fields("PH_L")
Text11.Text = Rs.Fields("SS_M")
Text12.Text = Rs.Fields("SS_H")
Text13.Text = Rs.Fields("SS_L")
Text14.Text = Rs.Fields("Water1")
Text15.Text = Rs.Fields("Water2")
Text16.Text = Rs.Fields("WorkTime")
Text17.Text = Rs.Fields("Mud")
Text18.Text = Rs.Fields("Num2")
Rs.Close
End Sub
Private Sub Form_Load()
Set Conn = New ADODB.Connection
Set Rs = New ADODB.Recordset
Conn.CursorLocation = adUseClient
Conn.Open "Water", "DBA", "SQL"
Set Rs.ActiveConnection = Conn
Rs.LockType = adLockOptimistic
Rs.CursorType = adOpenForwardOnly
Rs.Open "Select * From ManualInput"
Rs.MoveFirst
'找出序号最大的记录
Dim Max, Current
Max = Rs.Fields("No")
Do While Not Rs.EOF
Current = Rs.Fields("No")
If Current > Max Then
Max = Current
End If
Rs.MoveNext
Loop
Rs.Close
Rs.Open "Select * From ManualInput Where No=" & Max
Text0.Text = Rs.Fields("No") 'Text0是不可见的,只是用来作为No索引
Text1.Text = Rs.Fields("ReportTime")
Text2.Text = Rs.Fields("Num1_M")
Text3.Text = Rs.Fields("Num1_H")
Text4.Text = Rs.Fields("Num1_L")
Text5.Text = Rs.Fields("BOD_M")
Text6.Text = Rs.Fields("BOD_H")
Text7.Text = Rs.Fields("BOD_L")
Text8.Text = Rs.Fields("PH_M")
Text9.Text = Rs.Fields("PH_H")
Text10.Text = Rs.Fields("PH_L")
Text11.Text = Rs.Fields("SS_M")
Text12.Text = Rs.Fields("SS_H")
Text13.Text = Rs.Fields("SS_L")
Text14.Text = Rs.Fields("Water1")
Text15.Text = Rs.Fields("Water2")
Text16.Text = Rs.Fields("WorkTime")
Text17.Text = Rs.Fields("Mud")
Text18.Text = Rs.Fields("Num2")
Rs.Close
'将窗口置于屏幕的顶层
winHWND = FindWindow(vbNullString, "数据手工输入")
abc = SetWindowPos(winHWND, -1, 0, 0, 0, 0, &H1 Or &H2)
End Sub
Private Sub Form_Unload(Cancel As Integer)
Conn.Close
End Sub
Private Sub Text10_LostFocus()
'PH值输入限定
Dim InputValue
InputValue = Val(Text10.Text)
If InputValue > 14 Then
Beep
MsgBox "PH值必须在0到14之间!", vbCritical, "错误"
End If
End Sub
Private Sub Text8_LostFocus()
'PH值输入限定
Dim InputValue
InputValue = Val(Text8.Text)
If InputValue > 14 Then
Beep
MsgBox "PH值必须在0到14之间!", vbCritical, "错误"
End If
End Sub
Private Sub Text9_LostFocus()
'PH值输入限定
Dim InputValue
InputValue = Val(Text9.Text)
If InputValue > 14 Then
Beep
MsgBox "PH值必须在0到14之间!", vbCritical, "错误"
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -