gpt4 book ai didi

VBA:将具有值的字段添加到记录集

转载 作者:行者123 更新时间:2023-12-04 20:56:41 26 4
gpt4 key购买 nike

我正在通过 ADODB.Connection 和 ADODB.Recordset 通过 Excel VBA 访问数据库。我的查询返回四个数据字段。我想为我的记录集的每个“行”设置一个具有相同值(即 5)的第五个字段。我不想将此添加到数据库中。

我想将其作为一个字段来执行,因为有时我的查询返回五个字段,而第五个字段替换了 E 列乘法中的 5。

我目前的代码是这样的:

Dim MyConn As ADODB.Connection
Dim MyRecords As ADODB.Recordset
Set MyConn = New ADODB.Connection
Set MyRecords = New ADODB.Recordset
MyConn.Open location, username, password
MyRecords.ActiveConnection = MyConn
MyRecords.CursorLocation = adUseServer
MyRecords.Source = query 'really long, not included here
MyRecords.Open , , 1, 1
Do While Not MyRecords.EOF
Range("A2").Offset(cl, 0).Value = MyRecords.Fields.Item(0).Value
Range("B2").Offset(cl, 0).Value = MyRecords.Fields.Item(1).Value
Range("D2").Offset(cl, 0).Value = MyRecords.Fields.Item(2).Value
Range("E2").Offset(cl, 0).Value = MyRecords.Fields.Item(3).Value * 5
cl = cl + 1 'go to the next line
MyRecords.MoveNext
Loop
MyRecords.Close
MyConn.Close

我尝试在.Open 之后 append 一个字段,但这引发了错误。然后,我根据类似的问题尝试了以下操作,检查了本地人和 vba 文档:
Set MyRecords = New ADODB.Recordset
With MyRecords
.Fields.Append "MA", adNumeric, 19
.Fields.Append "PN", adVarChar, 12
.Fields.Append "Qty", adNumeric, 19
.Fields.Append "Data", adNumeric, 19
.Fields.Append "Mult", adTinyInt, , adFldUpdatable, 1
End With

MyRecords.ActiveConnection = MyConn
MyRecords.CursorLocation = adUseServer
MyRecords.Source = query 'really long, not included here
MyRecords.Open , , 1, 1

但这会在 With 结束之前引发错误。

tl;dr 我的 SQL 查询检索四列,我想在 vba 中本地添加第五列,完全用值 5 填充。我该怎么做?

最佳答案

您是说您的查询要求四个字段,但您希望记录集在返回数据时包含第 5 个字段?

如果这就是你想要的,你不能做这样的事情(未经测试!!)吗?

Select
Field_1,
Field_2,
Field_3,
Field_4,
SUM(5)
From
Your_Table

这样,我相信每一行都应该有数字 5,在记录集的第五列。

关于VBA:将具有值的字段添加到记录集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46308008/

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