访问VBA:在CurrentDb.OpenRecordset上键入不匹配
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了访问VBA:在CurrentDb.OpenRecordset上键入不匹配相关的知识,希望对你有一定的参考价值。
在下面的代码中,当我给vcount赋值时,我得到了compile error Type mismatch
。
我使用的代码是:
Dim SQL As String
Dim vcount As Integer
SQL = " SELECT count(*) FROM [Data Processing List];"
vcount = CurrentDb.OpenRecordset(SQL)
答案
一些替代方法。
使用TableDefs计算特定表中的行数:
Dim vcount As Integer
vcount = CurrentDb.TableDefs("[Data Processing List]").RecordCount
使用DCount:
Dim vcount As Integer
vcount = DCount("*", "[Data Processing List]")
还有更多方法。看看这篇非常有趣的文章,讨论几种方法,包括小型和中型表的性能结果:
MS Access – VBA – Get Record Count
另一答案
CurrentDb.OpenRecordset
返回记录集,而不是值。
如果要访问记录集字段的值,可以使用字段集合中所需字段的.Value
属性来执行此操作:
vcount = CurrentDb.OpenRecordset(SQL).Fields(0).Value
以上是关于访问VBA:在CurrentDb.OpenRecordset上键入不匹配的主要内容,如果未能解决你的问题,请参考以下文章