Ms access 如何使用DAO vba正确完成access数据库事务?
我正在使用DAO recorsets,其基本思想是按照给定参数的指示(限制)多次使用记录填充一个表 它似乎可以工作,但突然,当我想再次使用表单时,它抛出3022错误。当我看到表值时,没有一个是重复的。我从该表中删除所有记录并刷新表和表单。在我刷新表单之前,表不会显示任何值。显示的唯一值是我试图保存在数据库中的最后一个值 下面是一些代码:Ms access 如何使用DAO vba正确完成access数据库事务?,ms-access,dao,populate,recordset,Ms Access,Dao,Populate,Recordset,我正在使用DAO recorsets,其基本思想是按照给定参数的指示(限制)多次使用记录填充一个表 它似乎可以工作,但突然,当我想再次使用表单时,它抛出3022错误。当我看到表值时,没有一个是重复的。我从该表中删除所有记录并刷新表和表单。在我刷新表单之前,表不会显示任何值。显示的唯一值是我试图保存在数据库中的最后一个值 下面是一些代码: Private Sub add_element(loops_number As Double) i = 1 While (i < CDbl(l
Private Sub add_element(loops_number As Double)
i = 1
While (i < CDbl(loops_number))
function
i = i + 1
Wend
End Sub
专用子添加元素(循环数为双精度)
i=1
而(i
这显然很好
Private Sub populate()
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim last As DAO.Recordset
Set db = CurrentDb()
Set rst = db.OpenRecordset("Element", dbOpenTable)
Set last = rst.Clone
With rst
.AddNew
If (last.RecordCount <= 0) Then
'here I pass input form values to recordset fields ,because its the first row
last.Close
.Update
.Close
Else
last.MoveLast
!Pk = Custom_pk 'Custom_pk is obtained with a function --- not relevant
'here I pass remain values from last record to a new one --- because records has the same attributes
last.Close
.Update
.Close
End If
Set rst = Nothing
Set ultimo = Nothing
End With
End Sub
Private子填充()
Dim数据库作为DAO.Database
将rst设置为DAO.Recordset
最后变暗为DAO。记录集
Set db=CurrentDb()
Set rst=db.OpenRecordset(“元素”,dbOpenTable)
Set last=rst.Clone
用rst
.AddNew
如果(last.RecordCount我使用一个自动编号字段作为主键来解析它,并将原始pk(字母数字)保留为公共字段,那么我就可以完全按照我想要的方式保存我的vba代码