如何在SQL INSERT中使用整数变量

时间:2018-07-31 11:33:02

标签: sql vba ms-access

无法在MS ACCESS中使用INSERT插入变量。

当我插入诸如

的硬编码值时,插入效果很好
 dbs.Execute "INSERT INTO Flights " _
                 & "(FlightID) VALUES " _
                 & "('2');"

但由于变量而失败

Private Sub MainSaveBtn_Click()
    Dim dbs As Database
    Set dbs = CurrentDb
    Dim id As Integer

    id = 20
    Debug.Print id
    dbs.Execute "INSERT INTO Flights " _
                 & "(FlightID) VALUES " _
                 & "('id');"
    dbs.Close

End Sub

*航班表格只有一个名为FlightID的整数列

我在这里想念什么?

3 个答案:

答案 0 :(得分:2)

按以下步骤操作:

Private Sub MainSaveBtn_Click()
    Dim dbs As Database
    Set dbs = CurrentDb
    Dim id As Integer

    id = 20
    Debug.Print id
    dbs.Execute "INSERT INTO Flights " _
                 & "(FlightID) VALUES " _
                 & "(" & CStr(id) & ");"
    dbs.Close

End Sub

为您工作的人也不完全正确!它应该没有单引号,因为列类型为Integer,如下所示:

 dbs.Execute "INSERT INTO Flights " _
                 & "(FlightID) VALUES " _
                 & "(2);"

答案 1 :(得分:1)

“ id”应为整数变量,而不是字符串“ id”。下面列出了正确的SQL语句。

dbs.Execute "INSERT INTO Flights " _
          & "(FlightID) VALUES " _
          & "(" & CStr(id) & ");"

答案 2 :(得分:0)

您似乎正在尝试在数据库中插入“ id”。尝试用“ +”符号在字符串中连接您的ID。或者只是使用准备好的语句将变量注入