微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Access - 在文本框中显示记录数

如何解决Access - 在文本框中显示记录数

我有一个访问应用程序。它在搜索表单上打开,用户选择条件,点击“搜索”并显示符合其条件的记录列表。然后用户单击一条记录,它会显示有关该记录的信息。所有这些都很好用,但我正在尝试添加一个“计数”功能,它将显示一个文本框,显示用户数据库中的次数

但我的文本框只显示“1”。

在我的文本框中:我有以下内容

=Count([Requester_UserName])  

因为请求者在数据库中可以有很多条目,所以我想显示他们在这个表单上有多少条目,虽然表单只显示关于一个特定记录的信息,所以这个特定用户可能有 15 个条目.如何让此表单在该文本框中显示“15”?

感谢任何帮助。

解决方法

不要在 .Count 方法上计算(没有双关语意)。对于各种场景,它是不可靠的。请改用 SQL 语句。这是一个多用途的方法:

'------------------------------------------------------------------------------
'Purpose  : Retrieve number of records
'
'Prereq.  : ADO 2.x
'Parameter: cn       - Initialized ADODB.Connection object
'           sTable   - Table name
'           sField   - DB column name used for COUNT. This is ideally a integer column
'           sFilter  - SQL WHERE clause
'Returns  : # of records
'Note     : -
'------------------------------------------------------------------------------
Public Function SQLCount(ByVal cn As ADODB.Connection,ByVal sTable As String,Optional ByVal sField As String = "*",_
   Optional ByVal sFilter As String = vbNullString) As Long
   Dim rs As ADODB.RecordSet
   Dim lRecCount As Long
   Dim sSQL As String
   
   sSQL = "SELECT COUNT([" & sField & _
      "]) AS RecCount FROM [" & sTable & "]"
               
   If Len(sFilter) Then
      sSQL = sSQL & " WHERE " & sFilter
   End If
   sSQL = sSQL & ";"
               
   Set rs = New ADODB.RecordSet
   
   rs.Open sSQL,cn
   
   If Not (rs.BOF And rs.EOF) Then
      lRecCount = rs.Fields("RecCount").Value
   End If
   
   rs.Close
   Set rs = Nothing

   SQLCount = lRecCount
   
End Function
'==============================================================================

假设 ADODB 表名是 MyTable,ID 是该表中的一个整数列,并且您想知道在名为 City 的字段中存储了多少带有 'Miami' 的记录,您可以这样称呼它

Debug.Print SQLCount(cn,"MyTable","ID","City = 'Miami")

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。