访问VBA:在CurrentDb.OpenRecordset上键入不匹配

时间:2017-12-27 21:16:14

标签: ms-access access-vba

在下面的代码中,当我给vcount一个值时,我得到了compile error Type mismatch

我使用的代码是:

Dim SQL As String
Dim vcount As Integer

SQL = " SELECT count(*) FROM [Data Processing List];"

vcount = CurrentDb.OpenRecordset(SQL)

enter image description here

2 个答案:

答案 0 :(得分:1)

一些替代方法。

使用 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

答案 1 :(得分:0)

CurrentDb.OpenRecordset返回记录集,而不是值。

如果要访问记录集字段的值,可以使用字段集合中所需字段的.Value属性来执行此操作:

vcount = CurrentDb.OpenRecordset(SQL).Fields(0).Value