DCont (función)

Puede usar la función DCont para determinar el número de registros de un conjunto de registros especificado (un dominio ). Use la función DCont en un módulo de Visual Basic para aplicaciones (VBA), una macro, una expresión de consulta o una control calculado.

Por ejemplo, puede usar la función DCont en un módulo para devolver el número de registros de una tabla pedidos que corresponden a los pedidos realizados en una fecha determinada.

Sintaxis

DCont ( expr , dominio [, criterios] )

La sintaxis de la función DCont tiene los siguientes argumentos:

argumento

Descripción

expresión

Obligatorio. Una expresión que identifica el campo para el que desea contar los registros. Puede ser una expresión de cadena identificar un campo de una tabla o consulta, o puede ser una expresión que realice un cálculo con los datos de ese campo. En expr, puede incluir el nombre de un campo en una tabla, un control de un formulario, una constante o una función. Si expresión incluye una función, puede ser integrada o definida por el usuario, pero no puede ser ninguna otra función de agregado de dominio ni una función de agregado de SQL.

dominio

Obligatorio. Una expresión de cadena que identifica el conjunto de registros que constituye el dominio. Puede ser un nombre de tabla o un nombre de consulta para una consulta que no requiera un parámetro.

criterio

Opcional. Una expresión de cadena que se usa para restringir el intervalo de datos en el que se ejecuta la función DCont . Por ejemplo, los criterios suelen ser equivalentes a la cláusula WHERE en una expresión SQL, sin la palabra where. Si se omite criterios , la función DCont evalúa expr para todo el dominio. Cualquier campo que esté incluido en los criterios debe ser también un campo de dominio. en caso contrario, la función DCont devuelve un valor null.

Observaciones

Use la función DCont para contar el número de registros de un dominio cuando no necesite conocer sus valores particulares. Aunque el argumento expr puede realizar un cálculo en un campo, la función DCont simplemente cuenta el número de registros. El valor de cualquier cálculo realizado por expresión no está disponible.

Use la función DCont en un control calculado cuando necesite especificar criterios para restringir el intervalo de datos en el que se realiza la función. Por ejemplo, para mostrar el número de pedidos que se van a enviar a California, establezca la propiedad ControlSouRCE de un cuadro de texto en la siguiente expresión:

=DCount("[OrderID]", "Orders", "[ShipRegion] = 'CA'")

Si simplemente desea contar todos los registros del dominio sin especificar ninguna restricción, use la función contar .

Sugerencia La función contar se ha optimizado para acelerar el recuento de registros en consultas. Use la función contar en una expresión de consulta en lugar de la función DCont, y establezca criterios opcionales para exigir restricciones sobre los resultados. Use la función DCont cuando deba contar los registros de un dominio desde un módulo de código o una macro, o en un control calculado.

Puede usar la función DCont para contar el número de registros que contienen un campo particular que no está en el origen de registros en el que se basa el formulario o informe. Por ejemplo, puede mostrar el número de pedidos en la tabla pedidos en un control calculado de un formulario basado en la tabla productos.

La función DCont no cuenta los registros que contienen valores null en el campo al que hace referencia expr , a menos que expr sea el carácter comodín asterisco (*). Si usa un asterisco, la función DCont calcula el número total de registros, incluidos aquellos que contienen campos null . En el ejemplo siguiente se calcula el número de registros de una tabla pedidos.

intX = DCount("*", "Orders")

Si Domain es una tabla con una clave principal, también puede contar el número total de registros estableciendo expr en el campo de clave principal, ya que nunca será null en el campo de clave principal.

Si expr identifica varios campos, separe los nombres de campo con un operador de concatenación, ya sea un signo de y comercial (&) o el operador de suma (+). Si usa la y comercial para separar los campos, la función DCont (DCount ) devuelve el número de registros que contienen datos en cualquiera de los campos enumerados. Si usa el operador de suma, la función DCont devuelve solo el número de registros que contienen datos en todos los campos de la lista. En el ejemplo siguiente se muestran los efectos de cada operador cuando se usan con un campo que contiene datos en todos los registros (ShipName) y un campo que no contiene datos (ShipRegion).

intW = DCount("[ShipName]", "Orders")
intX = DCount("[ShipRegion]", "Orders")
intY = DCount("[ShipName] + [ShipRegion]", "Orders")
intZ = DCount("[ShipName] & [ShipRegion]", "Orders")

Nota:  La y comercial es el operador preferido para concatenar cadenas. Debe evitar usar el operador de suma para cualquier otra operación distinta de la suma de números, a menos que desee propagar específicamente valores nulos a través de una expresión.

Los cambios no guardados para los registros de dominio no se incluyen al usar esta función. Si desea que la función DCont (DCount ) se base en los valores modificados, primero debe guardar los cambios haciendo clic en Guardar registro en registros en la pestaña datos , moviendo el enfoque a otro registro o usando la actualizacióne método.

Ejemplos de consultas

Expresión

Resultados

SELECT DCont ("IdProducto", "ProductSales", "descuento = 0") como expr1 FROM ProductSales GROUP BY DCont ("IdProducto", "ProductSales", "descuento = 0");

Devuelve el recuento de valores del campo "IdProducto" de la tabla "ProductSales", donde el valor "descuento" es "0".

Seleccione DCont ("IdProducto", "ProductSales", "DateofSale = fecha ()-1") como YesterdaySale de ProductSales AGRUPAr por DCont ("IdProducto", "ProductSales", "DateofSale = fecha ()-1");

Devuelve el recuento de valores del campo "IdProducto" de la tabla "ProductSales", donde "DateofSale" es un día antes de la fecha actual.

Ejemplo de VBA

Nota: En los siguientes ejemplos se muestra el uso de esta función en un módulo de Visual Basic para aplicaciones (VBA). Para obtener más información sobre cómo trabajar con VBA, seleccione Referencia del programador en la lista desplegable situada junto a Buscar y escriba uno o más términos en el cuadro de búsqueda.

La función siguiente devuelve el número de pedidos enviados a un país o una región especificados después de una fecha de envío especificada. El dominio es una tabla pedidos.

Public Function OrdersCount _
(ByVal strCountryRegion As String, _
ByVal dteShipDate As Date) As Integer
OrdersCount = DCount("[ShippedDate]", "Orders", _
"[ShipCountryRegion] = '" & strCountryRegion & _
"' AND [ShippedDate] > #" & dteShipDate & "#")
End Function

Para llamar a la función, use la siguiente línea de código en la ventana inmediato:

:OrdersCount "UK", #1/1/96#

Nota:  Esta página se ha traducido mediante un sistema automático y es posible que contenga imprecisiones o errores gramaticales. Nuestro objetivo es que este contenido le resulte útil. ¿Podría decirnos si la información le resultó útil? Aquí puede consultar el artículo en inglés.

Ampliar sus conocimientos de Office
Explorar los cursos
Obtener nuevas características primero
Únase a los participantes de Office Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×