VB recordset的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”
在对应所需名称或序数的集合中未找到项目。

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

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.Update
End Sub
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-02-28
你使用的是ADO方法吗?还是使用数据控件的
你是如何打开RS记录集的?
如何是前者要 rs.open "select * from [表名]",conn,1,2 打开记录集并可写
后者的话可以再和我讨论下

其实我做的项目都不用fields属性
直接rs("xxx")=text.value就可以了本回答被提问者和网友采纳

VB recordset的fields属性!!!
Recordset 对象含有由 Field 对象组成的 Fields 集合。每个 Field 对象对应于 Recordset 中的一列。使用 Field 对象的 Value 属性可设置或返回当前记录的数据。取决于提供者具有的不同功能,Field 对象的某些集合、方法或属性有可能无效。使用 Value 属性可查看或更改字段中的数据。代码实例:Private Sub C...

vb中“recordset”如何使用?
在RecordSet组件中,常用的属性和方法有:rs.Fields.Count:RecordSet对象字段数。rs(i).Name:第i个字段的名称,i为0至rs.Fields.Count-1 rs(i):第i个字段的数据,i为0至rs.Fields.Count-1 rs("字段名"):指定字段的数据。rs.Record.Count:数据记录总数。rs.EOF:是否最后一条记录。rs.Move...

vb编程中ADO中RECORDSET中Fields的问题
rs.fields(1) 数据表第二个字段的内容,0代表第一个,以此类推 rs.fields(1).value表示第二个字段的名字 rs.fields(1)是列,但是游标在行上 rs是集合

在VB中,有一个Fields()看不懂,帮下好吗
Fields()是ADO的命令,用来操作一个字段 例:Set Rs=Server.CreateObject("ADODB.RecordSet")Rs.Open SQL,Conn,1,1 Data=Rs.Field("字段名").Value Rs.Close 其中SQL是查询的SQL语句串,Conn是已有的数据库连接对象。这个例子中将从库中第一条记录中取一个字段的值。

在VB中Recordset.Fields是什么意思啊
取得Recordset.fields(“字段名”)的值

vb中 recordset如何使用和理解
\\x0d\\x0a在RecordSet组件中,常用的属性和方法有:\\x0d\\x0ars.Fields.Count:RecordSet对象字段数。\\x0d\\x0ars(i).Name:第i个字段的名称,i为0至rs.Fields.Count-1\\x0d\\x0ars(i):第i个字段的数据,i为0至rs.Fields.Count-1\\x0d\\x0ars("字段名"):指定字段的数据。\\x0d\\x0...

VB中Recordset.Fields(*)到底代表什么意思???
不是你说的这样的。假设一个表的结构为:Id,Name,Sex,Age 那recordset.fields(0)就是id 那recordset.fields(1)就是Name ...同样这个表 recordset.fields(0)=recordset.fields("Id")recordset.fields(1)=recordset.fields("Name")...

VB中Recordset.Fields(*)到底代表什么意思???
1:用循环获取。从0下标开始。2:1对1获取。也就是你需要那个列名就写那个列名。当然这个列名需包含在查询语中。

vb中 fields是什么
VB中,当你打开一个数据集时,需要声明一个数据集对象,在它的下面会有一个字段集合,这个字段集合就是fields。使用方法:rs(数据集对象).fields("字段名称")或 rs(数据集对象).fields(字段索引号)

vb编程有关记录集取值问题 recordset.fields("aaaa").values,这里如果...
在VB环境中,Dim rs as new recordset ,这句话是先定义并实例一个记录集rs,它有两种用法,一种是当它打开表时,它可以这样,rs("变量名").value,其中的变量名的值必须是表里面的字段;另外一种是当它打开表时,它可以这样,rs.filelds(序号),其中的序号指的是表中的字段序号;你问为什么不...

相似回答