首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

长时间数据录入时隔天零点自动停止录入的有关问题怎么解决

2012-01-07 
长时间数据录入时隔天零点自动停止录入的问题如何解决?我想做个在线监测系统,需要实时将机器的振动量和温

长时间数据录入时隔天零点自动停止录入的问题如何解决?
我想做个在线监测系统,需要实时将机器的振动量和温度等录入数据库,现在的问题是到第二天零点自动停止录入了,有什么办法可以解决吗?代码如下:
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

热点排行