长时间数据录入时隔天零点自动停止录入的问题如何解决?
我想做个在线监测系统,需要实时将机器的振动量和温度等录入数据库,现在的问题是到第二天零点自动停止录入了,有什么办法可以解决吗?代码如下:
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\VB\2011-10.mdb;Persist Security Info=False"
conn.Open ConnStr
'打开表的记录集
rs.CursorLocation = adUseServer
rs.Open "振动量", conn, adOpenDynamic, adLockPessimistic
rs.MoveFirst
'添加一个空记录
Do
DateStr0 = Format(Now, "yyyy-mm-dd hh:mm:ss") & "." & Right(Format(Timer, "0.000 "), 4)
'添加一个空记录
rs.AddNew
'给各字段赋值
rs("时间") = DateStr0
For i = 2 To 3
num = Val(i - 1)
T = Second(Now)
S = 10 * Sin(6 * T) - 5 * Cos(6 * T)
rs("振动量" & num & "") = S
rs("角度" & num & "") = 6 * T
Next
'更新表记录集
rs.Update
PauseTime = 0.5
Start = Timer
Do While Timer < Start + PauseTime
DoEvents
Loop
Loop
[解决办法]
需要预先判断一下,因为零点时 Timer 回零了,而你的加法和却可能大于 Timer 有效值范围。
Start = Timer
Do While Timer < Start + PauseTime
会成为死循环。
Start = Timer
EndTime = Start + PauseTime
If EndTime > 86400 Then
EndTime = EndTime - 86400
Do Until (Timer < PauseTime) And (Timer > EndTime)
DoEvents
Loop
Else
Do While Timer < EndTime
DoEvents
Loop
End If