我需要在我的数据库中创建临时使用的表,每个表都应该有很多行(从500到1200),它们由两列组成:id和bool元素。
有没有办法创建一个将这么多行插入表中的查询?或者是否可以编写一个添加一行并编写Visual Basic宏的查询,这些宏将调用查询指定的次数?
答案 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
次。