如何手动将新记录添加到新的空ADODB.Recordset?
现在,这就是我正在做的不起作用:
Dim rs as ADODB.Recordset
rs.Open
Dim Fields() as String
Fields(0) = "SomeFieldName"
Dim Values() as String
Value(0) = "SomeValue"
rs.AddNew Fields, Values
Run Code Online (Sandbox Code Playgroud)
wqw*_*wqw 15
到位:
rs.AddNew "SomeFieldName", "SomeValue"
Run Code Online (Sandbox Code Playgroud)
或就地多个字段
rs.AddNew Array("SomeFieldName", "AnotherFieldName"), Array("SomeValue", 1234)
Run Code Online (Sandbox Code Playgroud)
或者使用单独的变量
Dim Fields As Variant
Dim Values As Variant
Fields = Array("SomeFieldName")
Values = Array("SomeValue")
rs.AddNew Fields, Values
Run Code Online (Sandbox Code Playgroud)
编辑:这是如何合成上面的AddNew示例的记录集
Set rs = new Recordset
rs.Fields.Append "SomeFieldName", adVarChar, 1000, adFldIsNullable
rs.Fields.Append "AnotherFieldName", adInteger, , adFldIsNullable
rs.Open
Run Code Online (Sandbox Code Playgroud)
我通常使用帮助函数CreateRecordset,如此答案.
更新2018-11-12
您还可以使用字段索引作为序数而不是字段名称作为字段数组的字符串,如下所示
rs.AddNew Array(0, 1), Array("SomeValue", 1234)
Run Code Online (Sandbox Code Playgroud)
set rs = new ADODB.Recordset
rs.Open "Select SomeFieldName, AnotherFieldName FROM MyTable", myConnection, adOpenDynamic, adLockOptimistic
rs.AddNew
rs("SomeFieldName").Value = "SomeValue"
rs("AnotherFieldName").Value = 1
rs.Update
rs.AddNew
rs("SomeFieldName").Value = "AnotherValue"
rs("AnotherFieldName").Value = 2
rs.Update
rs.Close
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
54724 次 |
| 最近记录: |