使用多个SELECT访问2010 VBA SQL INSERT

时间:2014-03-21 13:20:47

标签: sql vba

根据谷歌的说法,下面的代码提示出一种真正导致问题的随机/默认错误。 (查询输入必须至少包含一个表或查询)

Private Sub ButtonInsertUntergruppe_Click()
Dim sql As String

sql = "INSERT INTO tblArbeitsschritte (Auftrag_FK, Prozesspunkt_FK, Prozesspunkt) " & _
      "VALUES (" & _
                  Forms!frm_GUI!ID_Auftraege & _
                  ", " & _
                  "(SELECT ID_Prozesspunkt " & _
                  "FROM tblProzesspunkt " & _
                  "WHERE Untergruppe_FK = " & _
                  Me.cbUntergruppe.Column(0) & _
                  ") , " & _
                  "(SELECT Prozesspunkt " & _
                  "FROM tblProzesspunkt " & _
                  "WHERE Untergruppe_FK = " & _
                  Me.cbUntergruppe.Column(0) & _
                  "));"

Debug.Print sql
CurrentDb.Execute sql, dbFailOnError

End Sub

这是调试器给我的:

 INSERT INTO tblArbeitsschritt
    (
      Auftrag_FK, Prozesspunkt_FK, Prozesspunkt
    ) 
    VALUES 
    (
      1, 

      (SELECT ID_Prozesspunkt 
       FROM tblProzesspunkt 
       WHERE Untergruppe_FK = 1) 
      , 

      (SELECT Prozesspunkt 
       FROM tblProzesspunkt 
       WHERE Untergruppe_FK = 1)
    );

1 个答案:

答案 0 :(得分:0)

不确定是否支持该语法。就我个人而言:

 INSERT INTO tblArbeitsschritt
    (
      Auftrag_FK, Prozesspunkt_FK, Prozesspunkt
    ) 
    SELECT 1, ID_Prozesspunkt, Prozesspunkt 
    FROM tblProzesspunkt 
    WHERE Untergruppe_FK = 1