gpt4 book ai didi

sql - From 子句中的语法错误使用 ADO 删除记录

转载 作者:行者123 更新时间:2023-12-03 08:09:36 25 4
gpt4 key购买 nike

我正在使用 ADO 删除我的 MS Access 2007 数据库中的一条记录,我完全不知道为什么我的 SQL 代码会出现这种语法错误。它声称 FROM 子句中有错误,但我没有看到。我使用同一个表直接从另一个模块中的工作 SQL 语句中获取 FROM 子句。我已将代码输入到新查询的 SQL View 中,它运行得很好。这是代码:

Private Sub cmdDeleteMessage_Click()

If MsgBox("Once you delete a message, it cannot be undone." & _
"Are you sure you want to delete this message?", vbYesNo) = vbYes Then
Dim sql As String
Dim rsDel As New ADODB.Recordset
rsDel.CursorType = adOpenDynamic
rsDel.LockType = adLockOptimistic
sql = "DELETE * FROM [Staff Notes] WHERE [MsgID] = " & Me.txtMsgID.Value & ";"

rsDel.Open sql, CurrentProject.AccessConnection, , , adCmdTable

With rsDelete
.Update
.Close
End With
End If

End Sub

和想法?提前致谢!

最佳答案

您正在尝试运行操作查询,但使用记录集(需要选择查询)。

试试这个:

sql = "DELETE * FROM [Staff Notes] WHERE [MsgID] = " & Me.txtMsgID.Value & ";"
CurrentProject.AccessConnection.Execute sql, , adExecuteNoRecords

此外,如果 [MsgID] 是字符串,则需要将值括在引号中:
sql = "DELETE * FROM [Staff Notes] WHERE [MsgID] = " & Chr$(34) & Me.txtMsgID.Value & Chr$(34) & ";"

关于sql - From 子句中的语法错误使用 ADO 删除记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9338970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com