1
我在MS Access 2003中使用ADO 2.1並使用字段名稱和值數組調用ADO記錄集的AddNew方法。但是,我沒有收到錯誤消息,該記錄沒有寫入表格。MS Access/ADO AddNew方法不追加記錄
我嘗試過使用.Update和.Requery命令無效。
任何想法?
Public Function ReadFileViaTextStream(ByVal PortfolioName As String, ByVal SourceFile As String, ByVal TargetTable As String, _
ByRef TargetFields(), ParamArray SourceFields() As Variant)
Dim p_adoRS As ADODB.Recordset
Dim ForWriting() As Variant
Set p_adoRS = New ADODB.Recordset
p_adoRS.Open TargetTable, CurrentProject.Connection, adOpenDynamic, adLockBatchOptimistic, adCmdTable
If p_adoRS.Supports(adAddNew) Then
p_adoRS.AddNew TargetFields(), ForWriting()
p_adoRS.Update
p_adoRS.Requery
End If
TargetTable是一個字符串參數,TargetFields是一個字段名稱數組,而ForWriting是一個值數組。
W3Schools可以幫助:http://www.w3schools.com/ado/prop_rs_locktype.asp – Fionnuala 2010-01-05 12:10:50
這是有幫助的!在我的情況下,我沒有意識到相反的情況,adLockBatchOptimistic是必需的。使用adLockOptimistic可以防止我的斷開連接的記錄集進行批量更新。謝謝。 – ErikE 2011-01-20 18:21:32