Access 将多行插入 SSMS

Posted

技术标签:

【中文标题】Access 将多行插入 SSMS【英文标题】:Access insert multiple rows into SSMS 【发布时间】:2017-12-15 22:28:20 【问题描述】:

我有一个可以访问的表,我正在尝试将所有行插入到 SSMS 中的表中。

这是我在 Access 表单中的数据。我让它在 Access 中工作,它插入第一行。

PONumber  RollNumber    ItemNumber
123       A20           COFFEESLV.2
123       A21           COFFEESLV.2
123       A23           COFFEESLV.2

Access 调用存储过程和

INSERT INTO Receipts 
(   
      PONumber
    , ItemNumber
    , RollNumber
)
Values
(   
    @PONumber   --PONumber  (These get passed in from the Access Form.(
    ,@Item      --ItemNumber
    ,'1'        --RollNumber (I'm using this for testing. It works. But now it 
                 needs to insert all of them. There could be up to 100.
)

如何让它插入表中的所有行?该表本身也在 SSMS 中。它只是一个表格,保存着咖啡袖卷的值,直到我们收到它们,然后这些值被删除。

ETA - 我认为我的问题是临时表只包含卷号。该表单包含其余信息的字段。所以我不能在 SSMS 中从两个表中进行简单的插入选择。我不知道如何让 Temp 表从子表单中获取字段(我认为它是一个子表单,但它没有连接到任何东西。我试图让它工作但不能。)

谢谢。

【问题讨论】:

为什么不使用绑定表单?然后您的所有日期都将存储在一个表格中,您可以将数据传输到 SSMS。 作为@Rene 的建议,将数据输入到表中然后INSERT SELECT 可能会满足要求:w3schools.com/SQL/sql_insert_into_select.asp。但是,不是查询对象,而是使用 VBA 来构造 INSERT SELECT 并将引用连接到表单控件。然后使用 CurrentDb.Execute 运行 SQL。 刚刚注意到您的查询是一个存储过程。由于没用过,只能猜测INSERT SELECT可以在程序中结构化。 【参考方案1】:

谢谢。

我在过程中做了一个插入到选择中。我从表单中传入了我需要的值。在表单上有一个附加到 SSMS 表的子表单。

所以我的插入看起来像

Insert Into MyTable (Number, Color, Size, Price)
Select Number, Color, Size, @Price
From SubfrmTable

您可以直接在插入到 select (@Price) 中输入一个向下传递的变量。我不知道。希望这对其他人有帮助。

【讨论】:

以上是关于Access 将多行插入 SSMS的主要内容,如果未能解决你的问题,请参考以下文章

向表中插入多行 - Access

在 Access 2010 中使用一个插入语句插入多行

从文本框表单中将多行插入到单个表中 - Access 2010

在 ms-access 表中插入多行的 SQL 代码

MS Access 中的多行插入语句

C#,将多行插入 SQL 数据库