Compartir a través de


Función Count (Microsoft Access SQL)

Se aplica a: Access 2013 | Access 2016

Calcula el número de registros que devuelve una consulta.

Sintaxis

Count(expresión)

El marcador expresión representa una expresión de cadena que identifica el campo que contiene los datos que desea contar o una expresión que realiza un cálculo con los datos de dicho campo. Los operandos de expresión pueden incluir el nombre de un campo de tabla o una función (que puede ser intrínseca o definida por el usuario, pero no una de las otras funciones de agregado de SQL). Se pueden contar todo tipo de datos, incluido texto.

Comentarios

Use Count para contar el número de registros de una consulta subyacente. Por ejemplo, puede usar Count para contar el número de pedidos enviados a una región o país determinado.

Aunque expresión puede realizar un cálculo en un campo, Count simplemente cuenta el número de registros. No importa qué valores se almacenan en los registros.

La función Count no cuenta los registros que tengan campos Null a menos que expresión sea el carácter comodín asterisco (*). Si usa un asterisco, Count calcula el número total de registros, incluidos los que contienen campos Null. Count( * ) es considerablemente más rápido que Count( [ Nombre de columna ] ). No incluya el asterisco entre comillas (' ').

En el siguiente ejemplo, se calcula el número de registros de la tabla Orders:

SELECT Count(*) 
AS TotalOrders FROM Orders;

Si expresión identifica varios campos, la función Count cuenta un registro únicamente si al menos uno de los campos no es Null. Si todos los campos especificados son Null, el registro no se cuenta. Separe los nombres de los campos con un signo &. En el siguiente ejemplo, se muestra cómo puede limitar el recuento a los registros en que ShippedDate o Freight no son Null:

SELECT 
Count('ShippedDate & Freight') 
AS [Not Null] FROM Orders;

Use Count en una expresión de consulta. También puede usar esta expresión en la propiedad SQL de un objeto QueryDef o al crear un objeto Recordset basado en una consulta SQL.

Ejemplo

En este ejemplo, se utiliza la tabla Orders para calcular el número de pedidos enviados al Reino Unido.

En este ejemplo, se llama al procedimiento EnumFields, que se incluye en el ejemplo de la instrucción SELECT.

Sub CountX() 
 
    Dim dbs As Database, rst As Recordset 
 
    ' Modify this line to include the path to Northwind 
    ' on your computer. 
    Set dbs = OpenDatabase("Northwind.mdb") 
    
    ' Calculate the number of orders shipped  
    ' to the United Kingdom. 
    Set rst = dbs.OpenRecordset("SELECT" _ 
        & " Count (ShipCountry)" _ 
        & " AS [UK Orders] FROM Orders" _ 
        & " WHERE ShipCountry = 'UK';") 
     
    ' Populate the Recordset. 
    rst.MoveLast 
     
    ' Call EnumFields to print the contents of the  
    ' Recordset. Pass the Recordset object and desired 
    ' field width. 
    EnumFields rst, 25 
 
    dbs.Close 
 
End Sub 

Vea también

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.