简体   繁体   English

使用多个SELECT访问2010 VBA SQL INSERT

[英]Access 2010 VBA SQL INSERT with multiple SELECT

The following Code prompts out with, according to google, a kind of random/default error that doenst really lead to the problem. 根据Google的说法,以下代码提示了一种确实会导致问题的随机/默认错误。 (Query input must contain at least one table or query) (查询输入必须至少包含一个表或查询)

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

This is what the debugger gives me: 这是调试器给我的:

 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)
    );

Not sure if that syntax is supported. 不确定是否支持该语法。 Personally I would do: 我个人会这样做:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM