最近帮别人写个小的数据库程序,碰到这样一个问题:刚开始我数据库用的是SQL SERVER!程序没问题,可以运行!但是后来根据需要换成了ACCESS,就出了点问题!
就是在删除某一条记录时总出错,插入和修改都没问题!用的是ODBC连接数据库!请大家帮忙!

解决方案 »

  1.   

    具体点,哪句报错?
    access和sql server的sql语句有些细微的地方是不一样的,要少作改动
      

  2.   

    Access 删除记录时 支持以下两种语法
     1.delete from table where 条件
     2.delete * from table where 条件而SQL Server 只支持第一种.
      

  3.   

    SQL的日期使用:select * from tablename 日期字段='2004-03-23'
    ACCESS中日期使用:select * from tablename 日期字段=# 2004-03-23 #
      

  4.   

    Private Sub cmddelete_Click()
    Dim bresult As Integer
    bresult = MsgBox("你确认了吗?", vbOKCancel)
    If bresult = vbCancel Then
        Exit Sub
    End If
    With grdstudentinfo
          For i = IIf(.Row < .RowSel, .Row, .RowSel) To IIf(.Row > .RowSel, .Row, .RowSel)
          studentnamedeleted = .TextMatrix(i, 1)
          conn.Execute "delete studentinfo where 姓名='" + _
          studentnamedeleted + "'"
          Next i
      End With
      rsstudentinfo.Requery
      Set grdstudentinfo.DataSource = rsstudentinfo
    End Sub
    以上就是代码
      

  5.   

    报的错如下:
    实时错误 '-2147217900 (80040e14)
    [microsoft][ODBC microsoft access driver]语法错误(操作符丢失)在查询表达式'studentinfo where 姓名='马加爵''中
    运行的时候我选择了马加爵这一行记录,点删除后出现如上错误信息,请大家帮忙!谢谢!
      

  6.   

    应该是delete from table where吧,你的少了一个from阿(不过这样sql server也通不过阿,呵呵)
      

  7.   

    同意楼上的..
    应该就是这个问题..你把你在VB里的SQL打印出来到ACCESS里也通不过..就会报这个错误的.
      

  8.   

    该是delete from table where吧,你的少了一个from
      

  9.   

    正确的语句是这样的。
    delete from studentinfo where 姓名='"& studentnamedeleted & "'"
          
      

  10.   

    在access中字符串要用双引号:sqlserver中:
    conn.Execute "delete studentinfo where 姓名='" + studentnamedeleted + "'"access中:
    sqlstr = "delete studentinfo where 姓名=" + Chr(34) + studentnamedeleted + Chr(34)
    conn.execute sqlstr
      

  11.   

    要注意一些写法在access是不支持的,如case when
      

  12.   

    conn.Execute "delete studentinfo where 姓名='" + _
          studentnamedeleted + "'"
    //////////////
    改寫成delete  from studentinfo where Name='"& studentnamedeleted  &"'
    最好不要用姓名這樣的中文做字段
      

  13.   

    加上FROM后可以,谢谢各位数据库用SQL SERVER的时候不要FROM可以,大家说为什么啊?