0
我正在使用DAO recorsets,基本的想法是用給定參數指示(限制)多次填充記錄的一個表。解決:如何正確完成DAO vba的訪問數據庫事務?
它似乎工作,但突然當我想再次使用窗體時,它會拋出3022錯誤。當我看到表值時,它們都沒有被複制。我從該表中刪除所有記錄並刷新表格和表格。在我刷新表格之前,表格不顯示任何值。顯示的唯一值是我嘗試在數據庫中保存的最後一個值。
這裏的代碼一點點:
Private Sub add_element(loops_number As Double)
i = 1
While (i < CDbl(loops_number))
function
i = i + 1
Wend
End Sub
這是工作顯然罰款。
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
這就像上次記錄值在功能完成後保持「活動」狀態。我不明白爲什麼會發生這種情況。
元件pk是字母數字例如:「A1」,然後我建立一個函數,將A與1分開,將+1加到數字上並重新連接數值,因此結果爲「A2」