Dim objConn     As New ADODB.Connection
        Dim objRst     As New ADODB.Recordset
        Dim sSql     As String
        Dim sConn     As String
        Dim sEno    As Long
        Dim sDay     As Date
        Dim sStart     As String
        Dim sEnd     As String
        sEno = 2
        sDay = Now
        sStart = Trim(Text1.Text)
        sEnd = Trim(Text2.Text)
        sConn = "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;DATA SOURCE=C:\Documents and Settings\Admin\My Documents\Database1.accdb"
        
        objConn.Open sConn
        sSql = "insert  into  [Hour]  (Day,Eno,Start,End,Interval)   values(#" & Format(sDay, "yyyy-mm-dd") & "#, " & sEno & " , #" & Format(sStart, "hh:mm:ss") & "#,#" & Format(sEnd, "hh:mm:ss") & "#," & c & " ) "
                objConn.Execute sSql
      
        objRst.Close
        Set objRst = Nothing
        objConn.Close
        Set objConn = Nothing想往数据库里添加一行,但是老提示insert into语句有语法错误,access里的hour表里 Day,start,end都是时间日期型,Eno跟Interval是长整形。c也是长整形。高人请帮忙看看

解决方案 »

  1.   

    'day,start,end等是系统关键字,最好不要用作表名与字段名,一定要用则需要用方括号
    sSql = "insert into [Hour] ([Day],Eno,[Start],[End],Interval) values(#" & Format(sDay, "yyyy-mm-dd") & "#, " & sEno & " , #" & Format(sStart, "hh:mm:ss") & "#,#" & Format(sEnd, "hh:mm:ss") & "#," & c & " ) "
      objConn.Execute sSql
      

  2.   

    http://download.csdn.net/detail/veron_04/1644211