我在MS Access 2003中使用ADO 2.1并使用字段名称数组和值数组调用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是一个值数组。
答案 0 :(得分:3)
对 - 我和一位同事发现了这个问题。记录集应该以adLockOptimistic打开,而不是adLockBatchOptimistic。