我使用Access2010 项目作为前端,将MS SQL Server 2008称为后端。在我的 Access 项目中有 form frmKlientenÜbersicht
。这个表单有一个abfKlientenÜbersicht
作为数据源的视图。
现在我正在尝试使用以下代码获取当前显示在我的表单中的记录数:
Private Sub Form_Current()
Debug.Print "Form_Current: " & anzahlDatensätze
lblAnzahlDatensätze.Caption = anzahlDatensätze & " Klient(en)"
End Sub
Private Function anzahlDatensätze() As Integer
Dim rs As Recordset
Set rs = Me.RecordsetClone
rs.MoveLast
anzahlDatensätze = rs.RecordCount
End Function
这工作正常,直到我使用一些过滤器。如果我在表单上使用任何过滤器,记录数保持不变!
- 我必须更改什么才能显示当前的记录数(如果过滤或不过滤)?
- 我的代码没有显示正确的记录数的原因是什么?
编辑:根据给定的评论和答案,我尝试设置Count([pkKlient]
到文本框(见新图片)并DCount("*", "abfKlientenÜbersicht", me.Filter)
从 VBA 代码中尝试。
不幸的是,filterClause在用作 DCount 的参数值时似乎无效。(有关 filterClause 的图片,请参见图片)。
如您所见count(..)
,不会产生正确的数字-并且 filterClause (由访问生成!!)似乎对以下用户无效DCount(..)
如果有人想试试,自己一个人,只需要创建一个ADP,添加一个表单,添加一个视图,表单数据源是一个视图,设置一个过滤器,然后尝试获取记录数?!!
期待任何评论/答案/提示!