登录
首页 电脑编程
回帖 发帖
正文

主题:请教思南如何用VB中使用Acess2000实现实时警报显示?

点击:2757 回复:4

我现在用VB对ACESS数据库进行ADO操作,我在ACESS中建有一个警报信息表和实时警报表,当警报位触发后,VB在警报信息表中查询到信息,写入到实时警报表(DbGrid+DAOData控件显示)。当该位正常时,根据警报号在表中删除掉信息。但是我现在发现,虽然我在表删除,而且对DBGrid执行了Requery,但是DbGrid的信息还是没有删除。关掉程序后再运行就发现DbGrid的信息没有了。
还有为了执行对DBGrid中的数据进行操作,却不能使用FIND。
下面是两个ALARM过程,现在我已没什么办法,请思南先生及各位大侠给点经验和处理警报的思路。
Private Sub AlarmAdd(Number As Integer)
  Dim mrc As ADODB.Recordset
    txtsql = "select * from alarm where number='" & Trim(Number) & "'"
     Set mrc = ExecuteSQL(txtsql)
     If mrc.EOF = False Then
      Exit Sub
     Else
      txtsql = "select chitext from alarmlist where number='" & Trim(Number) & "'"
      Set mrc = ExecuteSQL(txtsql)
       Adodc1.Recordset.AddNew
       Adodc1.Recordset.Fields(0) = Trim(Number)
       Adodc1.Recordset.Fields(1) = Now()
       Adodc1.Recordset.Fields(2) = mrc.Fields(0)
       Adodc1.Recordset.Update
     End If
End Sub
Private Sub AlarmCanel(Number As Integer)
 Dim str As String
If Number > 9998 Then
     Exit Sub
       ElseIf Adodc1.Recordset.EOF And Adodc1.Recordset.BOF Then
        Exit Sub
          Else
          Dim mrc As ADODB.Recordset‘以下本可以用ADODB.Recordset.find number 来找出错的错误记录,但程序出错。
            txtsql = "select * from alarm where number='" & Trim(Number) & "'"
            Set mrc = ExecuteSQL(txtsql)
             If mrc.EOF = False Then
              mrc.Delete
              mrc.Update
           Adodc1.Recordset.Requery
           Adodc1.Recordset.Update
           End If
       End If
End Sub
表情表情表情
03-12-10 10:55
很久没有VB编写数据库程序了。刚刚在电脑上测试一下,应该这样可以通过:
关于Del:
   Adodc1.Recordset.MoveFirst
   Adodc1.Recordset.Find ("Number='" & Trim(Number) & "'")  'Number 为字符字段,否则不要单引号
   Adodc1.Recordset.Delete
查找与删除通过,不需要其他语句。
另外,你使用的应该是ADO Data Control.我的测试环境是VB6,ADODC参数是默认值。
你用Find出错可能与ADODC中的参数有关,或者你的Number字段是数字型   而你在Find时使用了单引号(字符型)匹配错。
03-12-10 12:13
非常感谢!我正在用VB写一个设备操作程序,但是以前是用组态软件的,由于对VB的应用不熟练,周围又没有同行,所以只有自已做。看看网上对VB与工控方面的知识非常少。非常想请思南及版主介绍一些VB在工控中的系统用法,如警报信息的处理,历史记录,参数趋势图,那就太好了。
03-12-10 15:37
事实上并没有什么特殊性,关键是将信号如何输入到电脑,然后放到数据库中去。后期的统计处理,报表以及图形等,可以参考一些专门VB编程的网站,难点不多。
相对来说,实时的显示图表(例如波形、仪表等)则可能是难点之一,不过有现成的控件则会使工作量大大降低,并且效果更加专业。
给一个专门做仪表控件的给做参考http://www.gkong.com/comm/userdetail.asp?id=29750
祝你成功!
03-12-11 15:21
谢谢鼓励!
03-12-11 17:49

工控新闻

更多新闻资讯