【问题标题】:Assigning object reference to a Variant/Long将对象引用分配给 Variant/Long
【发布时间】:2015-02-25 11:13:05
【问题描述】:

我有时会遇到这样的错误:“必需对象”(翻译自我的法语错误。)

但我不明白 VBA 中的对象到底是什么(如果它改变了某些东西,使用 Access)。

例如,我使用 ADODB.recordset 执行了一个 SQL SELECT,我在 VBA 的 Access IDE 的间谍中看到,该值是“Variant/Long”。好的,我创建了一个 Long 变量,并在 long 变量中设置了查询的值。 Set userId = RS.Fields(0).value 但它不起作用......

一开始,我认为:对象就像一个数组。但是该数组已经存在于 VBA 中。

有人可以帮助我吗?

【问题讨论】:

  • This 一组文章将帮助您清楚地了解在VBA中使用对象。
  • @Jens:您提供的链接是针对 VB.NET 的,它与 VBA 不同,尽管存在一定程度的重叠。

标签: vba ms-access object adodb


【解决方案1】:

Long 数据类型可以保存 32 位整数。它不是对象引用,所以不要使用Set

Dim userId As Long
userId = RS.Fields(0).value

有关什么是对象和不是对象的更多信息,请参阅Data Type Summary for VBA

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-15
    • 1970-01-01
    • 2011-10-26
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 2012-01-13
    • 2016-05-16
    相关资源
    最近更新 更多