各位高手: 请教!以下是程序:
Timer1  的间隔时间为一分钟!
Private Sub Timer1_Timer()
        Adodc1.RecordSource = "select top 1 * from HHUI"
        Adodc1.Refresh
        Adodc1.Recordset.AddNew
        Adodc1.Recordset.Fields(0).Value = GTF
        Adodc1.Recordset.Update
        Adodc1.Refresh
End Sub
现在在数据库发现有未记录成功的现象存在,请教如何避免这种现象的发生!!!????
如: 数据库中

18:31:09
18:33:09 

中间少了18:32:09  的记录!!!

解决方案 »

  1.   

    你是不是打开了ON ERROR处理? 否则当插入出错时报错的。
      

  2.   

    使用 Timer 控件
    Timer 控件响应时间的流逝。它们独立于用户,编程后可用来在一定的时间间隔执行操作。此控件的一个一般用处是检查系统时钟,判断是否该执行某项任务。对于其它后台处理, Timer 控件也非常有用。
    每个 Timer 控件都有 Interval 属性,指定定时器事件之间的毫秒数。除非禁止此属性,否则定时器在大致相等的时间间隔不断接受事件(称作定时器事件会更贴切)。
    在为 Timer 控件编程时应考虑对 Interval 属性的几条限制: 
    如果应用程序或其它应用程序正在进行对系统要求很高的操作─ 例如长循环、高强度的计算或者正在访问驱动器、网络或端口─ 则应用程序定时器事件的间隔可能比 Interval 属性指定的间隔长。
    间隔的取值可在 0 到 64,767 之间(包括这两个数值),这意味着即使是最长的间隔也不比一分钟长多少(大约 64.8 秒)。
    间隔并不一定十分准确。要保证间隔准确,应在需要时才让定时器检查系统时钟,而不在内部追踪积聚的时间。
    系统每秒生成 18 个时钟信号─ 所以即使用毫秒衡量 Interval 属性,间隔实际的精确度不会超过 18 分之一秒。 
    以上见MSDN
      

  3.   

    用这种方法增加记录:
    cnn.execute "insert into 表名(...) values(...)"
      

  4.   

    Option ExplicitPrivate Sub Form_Load()
        Timer1.Interval = 500
        Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=I:\VB6_CORD\Adodb\db1.mdb;Persist Security Info=False"
        Adodc1.RecordSource = "select top 1 * from HHUI"
        Adodc1.Refresh
    End SubPrivate Sub Timer1_Timer()
        If Mid(Time$, 7, 2) = "09" Then
            Label1.Caption = Time
            Adodc1.Recordset.AddNew
            Adodc1.Recordset.Fields(0).Value = GTF
            '
            '
        End If
    End Sub
    OR:Option ExplicitPrivate Sub Form_Load()
        Timer1.Interval = 500
        Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=I:\VB6_CORD\Adodb\db1.mdb;Persist Security Info=False"
        Adodc1.RecordSource = "select top 1 * from HHUI"
        Adodc1.Refresh
    End SubPrivate Sub Timer2_Timer()
        If Label1.Caption <> CStr(Time$) Then
            Label1.Caption = Time$
            frmMdb.Text2 = Date$
            frmMdb.Text1 = Time$
            sum_mdb = sum_mdb + 1
            Text3 = sum_mdb
            'jiaozun
            If sum_mdb >= 60 Then
                sum_mdb = sum_mdb - 60
                Adodc1.Recordset.AddNew '每分钟记录一组数据
                Adodc1.Recordset(0) = Time$
                Adodc1.Recordset(2) = record_jm(0)  '记录数据
                Adodc1.Recordset(3) = record_jm(1)  '记录数据
                Adodc1.Recordset(4) = record_jm(2)  '记录数据
                Adodc1.Recordset(5) = record_jm(3)  '记录数据
                Adodc1.Recordset(6) = record_jm(4)  '记录数据
            End If
        End If
    End Sub
      

  5.   

    Private Sub Timer1_Timer()
    Dim n As Long
      Do
        Adodc1.RecordSource.ActiveConnection.Execute "Insert Into HHUI(字段名) Values(" & GTF & ")", n
      Loop Until n
    End Sub