【发布时间】:2019-10-19 18:30:56
【问题描述】:
我需要从 oracle 服务器向现有 ADO 记录集添加字段。这是我尝试过的代码,但我得到了错误
在此上下文中不允许操作
With ADORec
Set .ActiveConnection = ADOConn
.Source = SQL
.LockType = adLockOptimistic
.CursorType = adOpenKeyset
.CursorLocation = adUseClient
.Open
End With
ADORec.AddNew
ADORec.Fields.Append "calcField", adInteger, , adFldUpdatable
SQL 获取 ID 列表。
如何在我的记录集中获得一个额外的列,以便在 vba 中运行计算?
或者: 首先,您对这个问题的处理方法是什么?
【问题讨论】:
-
您不能只将字段添加到记录集中。如果您想要另一种方法,请从 why 您要添加字段开始。您想更改表格、在表单上显示计算结果还是完全其他内容?
-
我想根据记录集进行计算。最后,我从记录集中得到的数据和我计算的值需要以拆分的形式显示。这就是为什么我试图将所有内容压缩到一个记录集中,以便我可以在我的表单中使用此记录集中的所有现有字段。
-
你不能在 SQL 语句中添加一个虚拟字段吗?
Select ID, 0 as dummy from MyTable -
@FunThomas 如果您想在字段中存储数据,请不要这样做。虚拟字段不可更新,仅包含静态值。
-
这可能是可能的,但我目前无法访问 SQL 来测试它。如果连接关闭,则记录集将被断开。因此,通过使用虚拟字段(@Fun Thomas)打开它然后断开连接,我认为可能有一种方法可以使其可更新。
标签: vba oracle ms-access adodb