VBA将记录集存储为整数变量

肖恩·科特·奥康奈尔

第一次海报,我终于有一个问题,我在这里找不到答案。

我有一个MS Access查询,该查询返回要存储为整数变量(x)的1个结果(这是一个数字),以便以后可以将其用于循环。问题是,因为我将它用作记录集,并且变量是整数,所以我收到“类型不匹配”错误。

现在,我只是将结果存储到单元格中,并将变量设置为等于该单元格:

Ws.Range("A1") = Db.OpenRecordset("SELECT COUNT(Asset_Name) FROM Assets WHERE Active = True").GetRows(1)

x = Ws.Range("A1")

Ws.Range("A1").Delete

然后,我只有一个运行x的循环

For i = 0 To x

基本上,我只想拥有一些看起来像这样的代码:

x = Db.OpenRecordset("SELECT COUNT(Asset_Name) FROM Assets WHERE Active = True").GetRows(1)

这里的任何帮助将是巨大的。谢谢!

拉尔夫

以下应该为您提供正确的结果:

Dim x As Integer
Dim db As DAO.Recordset

db.MoveFirst
If IsNumeric(db.OpenRecordset("SELECT COUNT(Asset_Name) FROM Assets WHERE Active = True").Fields(0).Value) Then
    x = CInt(db.OpenRecordset("SELECT COUNT(Asset_Name) FROM Assets WHERE Active = True").Fields(0).Value)
Else
    MsgBox "The query did not return a number." & Chr(10) & "Aborting..."
End If

请注意,您正在使用DAO而不是将其ADO作为指示的帖子上的原始标签。尽管如此,它们的行为都非常相似,并且光标通常位于第一行(返回数据时)。因此,MoveFirst没有必要。不过,Microsoft自己始终一直在自己的示例代码中使用它。第一列如果DAOADO一致好评.Fields(0)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为VBA记录集传递参数

来自分类Dev

在VBA中将记录集存储到阵列

来自分类Dev

存储过程测试返回记录集

来自分类Dev

在VBA中合并MySQL记录集

来自分类Dev

Excel VBA-遍历记录集

来自分类Dev

VBA & Excel - 循环记录集

来自分类Dev

将记录集转换为数组

来自分类Dev

将记录集值添加到存储过程参数 - 经典 ASP

来自分类Dev

如何使用VBA将临时记录集导出到CSV文件

来自分类Dev

将 Access VBA 记录集导出到 Excel 中的单行

来自分类Dev

使用ADODB将CSV文件作为记录集打开时的备注字段为空

来自分类Dev

访问列表的 VBA 集记录集不起作用

来自分类Dev

存储过程执行后,记录集关闭

来自分类Dev

如何从内部调用到存储过程获取记录集?

来自分类Dev

从C#中存储的proc返回多个记录集

来自分类Dev

如何从内部调用到存储过程获取记录集?

来自分类Dev

在存储过程中循环记录集

来自分类Dev

vba遍历记录集中的字段,而另一个记录集不是EOF

来自分类Dev

如何获取记录集变量中查询返回的行数?

来自分类Dev

VB6变量记录集名称

来自分类Dev

使用变量名查找记录集

来自分类Dev

从ADODB设置表单的VBA记录集时出错

来自分类Dev

VBA调试-查看所有打开的DAO记录集

来自分类Dev

在VBA中深度复制或克隆ADODB记录集

来自分类Dev

从VBA,DoEvents中的Access处理“大”记录集

来自分类Dev

C#和VBA记录集之间的DAO差异

来自分类Dev

通过遍历记录集访问vba数组

来自分类Dev

VBA从SQL Server记录集获取价值

来自分类Dev

VBA:根据当前数据更新记录集