猿问

看了下,如果直接格fields属性赋值,页错误,看起来是不支持直接给fields赋值了?

Rs.AddNew
本意是将form上的text文本框数组的值赋给表的新纪录的各个字段。
表格中共14列,第一列编号由别的函数count+1子的那个生成,别的列(字段)从文本框数组获取:

Dim t As Integer
For t = 0 To 12
Rs!Fields(t + 1).Value = Text(t).Text
Next t
Rs.Update

每次调试都提示错误:
实时错误“3265”
在对应所需名称或序数的集合中未找到项目。

翻过高山走不出你
浏览 209回答 2
2回答

梵蒂冈之花

Recordset 对象 (ADO)Recordset 对象表示的是来自基本表或命令执行结果的记录全集。任何时候,Recordset 对象所指的当前记录均为集合内的单个记录。Fields 集合 (ADO)Fields 集合包含 Recordset 对象的所有 Field 对象。Recordset 对象含有由 Field 对象组成的 Fields 集合。每个 Field 对象对应于 Recordset中的一列。使用 Field 对象的 Value属性可设置或返回当前记录的数据。取决于提供者具有的不同功能,Field 对象的某些集合、方法或属性有可能无效。使用 Value 属性可查看或更改字段中的数据。代码实例:Private Sub Command1_Click()    Dim cn As New ADODB.Connection '定义数据库的连接    Dim rs As New ADODB.Recordset    Dim sql As String    sql = "select * from guzhang_sj" ' where madanhao='1'"    cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\wd.mdb;Persist Security Info=False"    cn.Open    rs.CursorLocation = adUseClient    rs.Open sql, cn, adOpenDynamic, adLockOptimistic    Set MSHFlexGrid1.DataSource = rs    rs.AddNew    rs.Fields(0).Value = "14"    rs.UpdateEnd Sub

catspeake

你使用的是ADO方法吗?还是使用数据控件的你是如何打开RS记录集的?如何是前者要 rs.open "select * from [表名]",conn,1,2 打开记录集并可写后者的话可以再和我讨论下其实我做的项目都不用fields属性直接rs("xxx")=text.value就可以了
随时随地看视频慕课网APP
我要回答