Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba Access-在文本框中显示记录数_Vba_Forms_Ms Access - Fatal编程技术网

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

Vba Access-在文本框中显示记录数,vba,forms,ms-access,Vba,Forms,Ms Access,我有一个访问应用程序。它在搜索表单上打开,用户选择条件,点击“搜索”,并显示符合条件的记录列表。然后用户单击一条记录,它会显示关于该记录的信息。所有这些都很好,但我正在尝试添加一个“计数”功能,它将显示一个文本框,显示用户在数据库中的次数 但我的文本框只显示“1” 在我的文本框中:我有以下内容: =Count([Requester_UserName]) 因为请求者在数据库中可以有许多条目,所以我想显示他们在这个表单上有多少条条目的计数,尽管表单只显示关于一个特定记录的信息,所以这个特定用户

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

但我的文本框只显示“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”)

我在谷歌上搜索了“Access-文本框中记录的显示计数”,并得到了无数重复的问题;)苦艾酒:我也是,但我发现的网站都不管用。我都试过了,它仍然显示“1”。我从来都不明白为什么人必须是如岱并不意味着冒犯,请不要这样认为。你问的是一个非常简单的问题,已经有很多答案了。在堆栈上,我们尽量避免重复的问题。如果您阅读一些VBA教程以更加熟悉该语言,可能是最好的选择谢谢。这就是我需要做的。我无法让它在表单本身上完成,但需要在后端的代码中完成。谢谢你指出这一点,非常感谢。