Access - Cuadro de texto que Cuenta la cantidad de números repetidos de un campo de una tabla

 
Vista:
sin imagen de perfil
Val: 1
Ha disminuido su posición en 40 puestos en Access (en relación al último mes)
Gráfica de Access

Cuadro de texto que Cuenta la cantidad de números repetidos de un campo de una tabla

Publicado por Dreamer (10 intervenciones) el 26/11/2021 03:47:03
¡Hola a todos!

Les hago una pregunta. Tengo los siguientes datos:

Tablas:

'TABLE1' con un campo 'FileID' (autonumérico) y otro 'Nro-NA' (numérico)
'PRINCIPAL' con un campo 'ID' (Autonumérico)

Necesito lo siguiente:

Haga un 'Cuadro de texto' (Cuadro de texto1) en el formulario PRINCIPAL (datos de la tabla con el mismo nombre) que Cuente y muestre en cada registro del formulario (campo ID), cuántas veces se repite cada número en el campo 'Nro -NA 'de la tabla' TABLE1 '

Ejemplo: Para el registro 1 del campo ID del formulario PRINCIPAL, agregue en el cuadro de texto 'TextBox1' cuántas veces aparece un número en el campo 'NA-No' y para el caso de no. 8, sería un valor de 2, porque aparece 2 veces ...

NOTA: He logrado que funcione, pero con un cuadro de texto dentro de un subformulario, me gustaría colocarlo en el formulario principal, pero no he logrado generar una expresión de trabajo para colocar en el RowSourse ...

He usado esta expresión: = Cuenta ([RegID])

Espero haberme explicado

¡Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Cuadro de texto que Cuenta la cantidad de números repetidos de un campo de una tabla

Publicado por Anonimo (3316 intervenciones) el 26/11/2021 11:08:38
La función CUENTA en los formularios no cuenta datos particulares, cuenta registros, para cosas de ese tipo se acostumbra a crear una condición y se suman los resultados sea en la cabecera o en el pie del formulario (nunca registro a registro).

La alternativa es utilizar esa función como función de dominio (Count >> DCount) y se podrá condicionar (incluso registro a registro) para que cuente lo que se le indique.

No se garantiza un buen rendimiento si los datos son muchos y las condiciones complejas, en ocasiones es mas eficaz crear una consulta que calcule las variaciones y de ella obtener el dato o datos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 1
Ha disminuido su posición en 40 puestos en Access (en relación al último mes)
Gráfica de Access

Cuadro de texto que Cuenta la cantidad de números repetidos de un campo de una tabla

Publicado por Dreamer (10 intervenciones) el 26/11/2021 15:59:33
Hola Anónimo! Gracias por tu respuesta!

y como quedaría la expresión con DCount para referirme a la cuenta de los datos del campo "Nro-NA" de la tabla "TABLA1", siendo que dicha expresión la quiero colocar en el RowSourse de una TextBox Independiente dentro del Formulario Principal?

En este caso el rendimiento no sería un problema, puesto que la cuenta nunca arrojaría más de 10 porque cuenta cantidad de veces que se repite un campo ID en particular (aclaracion al margen, cuenta cuantos documentos o sus rutas mejor dicho hay en ese registro y nunca van a ser mas de 2, 3 o 10 en un caso extremo, pero le daria un panorama al usuario)

Espero haberme expresado.
Gracias!
Dreamer
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cuadro de texto que Cuenta la cantidad de números repetidos de un campo de una tabla

Publicado por Anonimo (3316 intervenciones) el 26/11/2021 19:35:00
Tienes conceptos equivocados y mi consejo es que no los utilices si no los tienes claros (hacen suponer que sabes menos de lo que sabes)

RowSource solo lo tiene los combos o los cuadros de lista, en los objetos que solo 'admiten un dato a la vez' -como los cuadros de texto- la propiedad es 'Value' y casi siempre es la que asume por defecto (por lo que Value suele ser innecesario).

Hay bastante información al respecto de las funciones de dominio en este mismo foro, reiterarse una y otra vez repitiendo lo que por diseño es invariable .....

DCount utiliza -como todas las funciones de dominio- tres parametros (datos).

El primero es el campo sobre el que actua (busca el mayor, menor, primero, suma ...)
El segundo es el DOMINIO sobre el que actúa (dominio = conjunto de datos)
El tercero -que no es requerido- son las condiciones que ha de cumplir

En particular DCount no necesitaría el primer parámetro, pero las reglas indican que los dos primeros son indispensables y ... hay que acatarlas o no funciona.
Se puede utilizar un asterisco y con eso le basta para contar los REGISTROS que cumplan la condición en ese conjunto de datos (el dominio).

El segundo es el conjunto de datos y en este caso la tabla que los contiene ¿Tabla1?

El tercero es la condición y según se indica es que el campo ("Nro-NA") sea igual a ¿?.

Revisa mensajes recientes que tratan ese tema (hay uno 'levantado' del año 2017 con exactamente la función DCount) para ver como se escribe (que Access entienda lo que se le solicita).

:
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 1
Ha disminuido su posición en 40 puestos en Access (en relación al último mes)
Gráfica de Access

Cuadro de texto que Cuenta la cantidad de números repetidos de un campo de una tabla

Publicado por Dreamer (10 intervenciones) el 27/11/2021 00:48:28
Hola Anónimo!

¿A ver si entendí? ¿Quedaría algo así?

1
=DBúsq("*";"[TABLA]";"[CAMPO] = " & [Me].[TextBox])

Donde:

TABLA: Donde está el campo con los registros que quiero contar
CAMPO: Donde están los registros a contar (son números)
TextBox: Es el cuadro de Texto que va a mostrar el resulta y el cual contiene el RowSourse.

Por favor, corrígeme, porque si está bien la expresión, no me estaría funcionando

Gracias!
Dreamer
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cuadro de texto que Cuenta la cantidad de números repetidos de un campo de una tabla

Publicado por Anonimo (3316 intervenciones) el 27/11/2021 10:13:11
Lo único que hace y puede hacer el programador es aprender a utilizar las herramientas y cuando las conozca (sepa que resultado obtener de cada una) es el momento de combinarlas para obtener el resultado que busca.

No hacerlo así = copiar y (normalmente) fracasar

No entiendo que se utilice DLookup (DLookup = DBúsq) para contar ====>>>> ¿Buscar es igual a contar?

DBúsq SI necesita saber en que campo del conjunto de datos (el dominio = tabla/consulta) ha de hacerse la búsqueda por lo que el asterisco es inadecuado: o un campo del conjunto o (con algo de malabarismo y conocimiento avanzado) en varios.

Esto:
1
=DBúsq("*";"[TABLA]";"[CAMPO] = " & [Me].[TextBox])

Contiene errores de bulto, la sintaxis delata que se utiliza en modo diseño como origen de datos de un objeto (NO en VBA)

.- Comienza por el signo de igualdad porque se le va a asignar al propio objeto, es una asignación directa

.- DBúsq indica que se va a buscar en un dominio (la D al inicio lo delata)

.- El asterisco no define ningún campo (ni lo interpretara como 'utilizar todos los campos') hay que especificar en que campo del dominio se espera encontrar 'algo'.

.- Tabla (si existe como conjunto de datos) puede ser un origen correcto,
para que 'exista' como conjunto = dominio ha de ser una tabla o consulta (y si es el contenido de un combo o formulario: SU origen de datos, no el resultado que se muestre en pantalla)

.- ME es un prefijo que se utiliza en VBA (no en la capa de abstracción del formulario) y fuera de VBA No significa nada, si el referente es un campo del formulario (en ese entorno es a lo único que se puede acceder) basta con ponerlo entre corchetes, al analizar/ejecutar el motor de Access buscara el objeto y utilizara su contenido (como encontrar el vaso verde y beberse el refresco que contiene, el vaso azul tendría vino y el rojo salsa de tomate)

Nuevamente insisto en que un cuadro de texto no tiene ROWSOURCE, esa propiedad u tipo de origen de datos esta reservada para los COMBO-BOX o los CUADROS-DE-LISTA, para un cuadro de texto le basta con la propiedad 'VALUE' para hacer referencia a su contenido (el refresco, vino o jugo de tomate antes mencionado)

Para que algo funcione BIEN necesita por lo menos dos partes:

1.- Tener muy claro lo que se intenta (con las funciones de dominio: contar, buscar , el mayor, el menor, el primero, el ultimo .....)

2.- Conocer la forma de utilizar cada herramienta, y no utilizar como martillo lo primero que aparece en la caja de herramientas, así como diferenciarlas y no confundir una broca con un destornillador (porque ambas son redondas y 'dan vueltas')
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar