gpt4 book ai didi

VBA:Recordset.Fields "Object doesn' t 支持此属性”

转载 作者:行者123 更新时间:2023-12-04 05:54:23 27 4
gpt4 key购买 nike

我正在尝试遍历每个记录集上的字段并将它们的值添加到我的 Excel 2007 工作表中。

我有以下代码,但每当它到达“ For Each x In.. ”时,我就会得到“对象不支持此属性”
我错过了什么吗?我是否需要在 VBA 中添加其他引用才能使用 .Fields?我目前正在使用 Microsoft ActiveX 数据对象 6.0 库 在我的引用资料上。 SQL 查询 Oracle 数据库,但我认为这在此错误中并不重要。

Set recSet = newConn.getOpenIncidents("exampleworkgroup")
Set Path = ThisWorkbook.Worksheets("Incidents")
iRow = 2

With Path
iCol = 1
For Each x In recSet.Fields
.Cells(iRow, iCol).Value = x.Value 'Customer Name
iCol = iCol + 1
Next
End With

这是我类里面的函数代码
Public Function getOpenIncidents(ByVal wrkgp As String)
Set rs = New ADODB.Recordset
Dim SQL As String

SQL = "SELECT intbl.cust_ky, intbl.incid_id, intbl.OPEN_TS, intbl.CLOSE_TS, wrkgptbl.wrkgp_id, intbl.incid_ttl_dn " _
& "FROM (MAIN.testtable intbl INNER JOIN MAIN.wrkgrp wrkgptbl ON intbl.curr_wrkgp_ky=wrkgptbl.wrkgp_ky) " _
& "WHERE wrkgptbl.wrkgp_id='" & wrkgp & "'"

rs.Open SQL, con, adOpenKeyset
rs.MoveFirst
getOpenIncidents = rs

End Function

最佳答案

我想我已经发现了! recSet实际上是字段类型。因此没有这样的.Fields属性为 .Fields是 Recordset 对象的属性。

修复应该是:

For Each x In recSet

或更改 getOpenIncidents()返回 RecordSet 的方法(包括将返回行更改为 Set getOpenIncidents = rs )。

关于VBA:Recordset.Fields "Object doesn' t 支持此属性”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9695595/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com