Microsoft Access VBA INSERT SQL语句

时间:2017-04-07 13:36:04

标签: ms-access

我在Microsoft访问中创建了一个数据库,并在其中创建了一个表单 我有一个附在表单上的按钮,当它被点击时,我想在表customerHeader中插入一条新记录。
该表中有四个字段,一个是自动编号。在我的SQL语句中,我没有包含orderNumber,因为它是一个自动文件 当我尝试单击该按钮并执行单击事件时,我收到一条错误消息,指出Microsoft Access无法在追加查询中附加记录。

任何想法,我到处寻找,但我找不到解决方案。

Private Sub addOrder_Click()
    Dim mySql As String
    Dim rowNum As Integer
    Dim recCount As Long
    Dim orderNumber As Long
    Dim myBool As Boolean


    Dim todayDate As Date

    todayDate = CDate(Date)

    myBool = False


    MsgBox todayDate

    rowNum = Form.CurrentRecord
    rowNum = CInt(rowNum - 1)



    'DoCmd.GoToRecord , , acNewRec
    mySql = "INSERT INTO orderHeader (orderDate,custNumber,printed) VALUES (" & todayDate & "," & rowNum & "," & myBool & ")"

    DoCmd.RunSQL mySql

    Me!orderNum.Requery

1 个答案:

答案 0 :(得分:0)

您没有太多 - 只需使用ISO序列作为日期值的字符串表达式的格式:

mySql = "INSERT INTO orderHeader (orderDate,custNumber,printed) VALUES (#" & Format(todayDate, "yyyy\/mm\/dd") & "#," & rowNum & "," & myBool & ")"

然而,今天就是这样,只需使用:

mySql = "INSERT INTO orderHeader (orderDate,custNumber,printed) VALUES (Date()," & rowNum & "," & myBool & ")"