SQL INSERT INTO语句不适用于VBA

时间:2013-11-28 07:39:30

标签: sql excel vba

看起来很简单,但我不认为它不起作用,它给出了错误msg(INSERT INTO语句中的语法错误)..

Call Connect_to_db

strSQL = "INSERT INTO Table2 ( Name, StaffNumber , Title , Number , ext , Nationalty , Section , Sector , Side , Department , Civil , Job_title ) Values ('" & addName.TExt & "', " & Val(addStaffID.TExt) & ", '" & addTitle.TExt & "', " & Val(addNumber.TExt) & " , " & Val(addExt.TExt) & " , '" & addNation.TExt & "', '" & addSection.TExt & "', '" & addSector.TExt & "', '" & addSide.TExt & "', '" & addDept.TExt & "' , " & Val(addCivil.TExt) & ", '" & addJob.TExt & "'  )"
Debug.Print strSQL
cn.Execute strSQL

MsgBox ("Data Added to the Database")

Call Close_db

除(StaffNumber,ext,Number,Civil)之外的所有数据类型文本都是数字

我相信我需要在每次之前修剪,但我不认为这是问题的原因。

1 个答案:

答案 0 :(得分:0)

您错过了Job_title子句中的VALUES值。您也错放了DepartmentCivil列。

这是应该如何:

INSERT INTO Table2
  ([NAME],
    StaffNumber,
    Title,
    Number,
    ext,
    Nationalty,
    Section,
    Sector,
    Side,
    Department,
    Civil,
    Job_title)
VALUES
  ('" & addName.TExt & "',
    " & Val(addStaffID.TExt) & ",
    '" & addTitle.TExt & "',
    " & Val(addNumber.TExt) & ",
    " & Val(addExt.TExt) & ",
    '" & addNation.TExt & "',
    '" & addSection.TExt & "',
    '" & addSector.TExt & "',
    '" & addSide.TExt & "',
    '" & addDept.TExt & "',
    " & Val(addCivil.TExt) & ",
     ADD_JOB_TITLE_VALUE_HERE)