MS Access:如何在1个查询中向表中添加多行

时间:2015-06-05 19:10:05

标签: sql vba ms-access access-vba

我需要在我的数据库中创建临时使用的表,每个表都应该有很多行(从500到1200),它们由两列组成:id和bool元素。

有没有办法创建一个将这么多行插入表中的查询?或者是否可以编写一个添加一行并编写Visual Basic宏的查询,这些宏将调用查询指定的次数?

1 个答案:

答案 0 :(得分:1)

我认为你可以通过一个相当简单的VBA程序来完成你需要的工作。

例如,要将1000行加载到我的"表3" 中,并将False存储在名为" bool_field" 的字段中,我可以这样调用下面的程序......

AddRows "Table3", "bool_field", False, 1000

该表的其他字段是AutoNumber类型,因此db引擎负责处理其值。

Public Sub AddRows(ByVal pTable As String, _
        ByVal pField As String, _
        ByVal pValue As Variant, _
        ByVal pHowMany As Long)

    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim i As Long
    Set db = CurrentDb
    Set rs = db.OpenRecordset(pTable, , dbAppendOnly)
    With rs
        For i = 1 To pHowMany
            .AddNew
            .Fields(pField).Value = pValue
            .Update
        Next
        .Close
    End With
    Set rs = Nothing
    Set db = Nothing
End Sub

如果您更喜欢基于查询的方法,则可以在INSERT部分中根据需要执行For i = 1 To pHowMany次。