Access - Ayuda con conteo en formulario

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

Ayuda con conteo en formulario

Publicado por Jonathan (8 intervenciones) el 06/04/2021 22:00:16
Hola compañeros, muy buenos tardes.

Estoy realizando un programa ya estoy en los últimos detalle del proyecto, tengo una duda que no se bien como plantearlo, lo que quiero hacer es a partir de dos cuadro de texto que son para filtrar, me muestre el conteo de registros que salió de ese filtro ejemplo caje de texto1=1 caja de texto2=10 y en ese rango tengo 20 registros tanto con datos únicos o que se repiten y que ese numero aparezca en una tercera caja de texto.

He utilizado la función DCount, pero me marca error

La forma en como utilizo la función es la siguiente:
DCount("*", "[Lote]", "Codigo BETWEEN '" & Me.TXTCodigoInicial & "' AND '" & Me.TXTCodigoFinal & "' ")
fotoprue

Pongo imagen de como tengo mi formulario, espero me puedan ayudar no encuentro la manera de hacerlo
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

Ayuda con conteo en formulario

Publicado por Anonimo (3314 intervenciones) el 07/04/2021 19:40:27
Between trabaja bien con números y suele complicarse con textos.

Los parámetros que se le pasan son textos (o eso le parecerá a Access al ir entre comillas) y si el campo de referencia es texto, la solución seria que se le aplicase una conversión (por ejemplo con: Val) para uniformizar al conjunto.
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
sin imagen de perfil
Val: 20
Ha aumentado su posición en 4 puestos en Access (en relación al último mes)
Gráfica de Access

Ayuda con conteo en formulario

Publicado por Jonathan (8 intervenciones) el 07/04/2021 19:50:02
Me podrías dar el ejemplo de como podría quedar, soy nuevo en Access y desconozco algunas cosas aun
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

Ayuda con conteo en formulario

Publicado por Anonimo (3314 intervenciones) el 07/04/2021 23:04:11
Al revisar los datos que se muestran en los campos, se aprecia que el campo 'codigo' es alfanumérico (texto), lo delatan los ceros a la izquierda de una cifra entera.

Utilizar con ese campo de texto un condicional que en principio fue diseñado para trabajar con números ..... el resultado que se obtenga no siempre será el adecuado (un numero es un valor concreto y único, un texto se evalúa carácter a carácter).

Una de las posibles soluciones consistirá en aplicar una función (VAL) que 'convierta' el dato alfanumérico a numérico (pero solo funcionara si el campo 'codigo' solo contiene caracteres numéricos, valores tales como: '00A12' o 'X1230' devolverán cero) .

Si los ceros es 'pura estética' (el valor es un numero) se debería trabajar como numero y (de necesitarlo o por simple estética) con la función FORMAT se le añaden todos los ceros que se necesiten.

Define el tipo de datos de ese campo (si estas iniciando la aplicación es un buen momento) y con eso ya definido se buscaría la solución mas adecuada.

Si se desea dejar como esta, lo que podría ser valido es en lugar de 'Between' utilizar mayor que (>) y menor que (<) en sus posibles combinaciones: mayor o igual (>==) .... etc., sin perder de vista que comparar texto requiere mas tiempo y recursos que comparar números.

En una programación mas avanzada (con VBA) si el formulario depende de un conjunto de datos (sea tabla o consulta), al aplicar en el un filtro, se puede acceder al resultado (preguntarle cuantos registros tiene su 'RecordsetClone).

Me viene a la memoria una posible y sencilla solucion para ese conteo (que se actualizara de forma dinamica), como origen del cuadro de texto y en su 'vista diseño' utilizar esto:

1
=Count(*)

Contara los registros presentes en el formulario sea cual sea el filtro que se le ponga .... y probablemente 'traduzca' lo de Count ==>> Cuenta (evidencia de que reconoce la palabra reservada en su idioma natal)
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
sin imagen de perfil
Val: 20
Ha aumentado su posición en 4 puestos en Access (en relación al último mes)
Gráfica de Access

Ayuda con conteo en formulario

Publicado por Jonathan (8 intervenciones) el 08/04/2021 00:00:11
Si, de hecho ya esta casi terminado el sistema, solo necesito un conteo de unos datos, lo que hace este sistema es llevar un control de cambios sobre un producto, esto lleva como datos principales un lote y código, donde en ambos datos se ingresan datos alfanuméricos por eso tuve que poner el campo código como texto.

El formulario es independiente no interactúa con una consulta o tabla de la base de datos, lo único que si depende de una consulta o tabla es el subformulario, ya encontré la forma en que se filtre ese subformulario, lo único que quisiera saber es a partir de el filtro que tengo en la parte de arriba tanto me filtre el subformulario y una vez filtrado me arroje el conteo, ejemplo en la imagen tengo aprobado a la primera, en el filtro pongo su código y se filtra y en un cuadro de texto me dija hay un registro o solo 1 haciendo referencia a que solo hay un registro, en si que en una caja de texto me aparezca el numero de registros que hay en subformulario ya sea con filtros o sin ellos.

Evidencia

Algo logre hacer con la funcion de DCount, si me arroja los datos que son pero al momento de filtrar me mantiene los datos, no cambian.
No se como poder hacer que se filtren del subformulario
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

Ayuda con conteo en formulario

Publicado por Anonimo (3314 intervenciones) el 08/04/2021 00:57:48
Lo sencillo y que debería funcionar a la primera:

Utilizar el método anterior en el subformulario (sea en el pie o la cabecera) se obtendrá el numero de registros del formulario (subformulario = formulario 'hijo', sigue siendo un formulario)

Una vez que se obtiene el numero de registros (en el subformulario) para verlos en el formulario solo hay que 'copiar' el valor y como no hay mayor interés en verlo en dos sitios, el original (en el subformulario) se le pone altura cero e invisible y deja de molestar.

Supuesto:
.- Un cuadro de texto independiente en el formulario principal (su nombre es lo de menos, .. llamémosle 'Visor') en el se visualizara el dato.
.- Un subformulario con origen de datos (no puede ser independiente o no 'contara') su nombre: 'MisDatos' (llamarlo como se desee, sin espacios en el nombre)
.- Un cuadro de texto independiente en el subformulario y mejor en el pie (su nombre: 'Contador') , su origen de datos:
= Count (*)

(En principio dejar 'visible' a 'Contador', cuando todo funcione ya se le ocultara)

Origen de datos para el cuadro de texto independiente del formulario principal:
= MisDatos.Form.Contador

Todo deberá funcionar y se vera en el subformulario el numero de registros en 'Contador' y ese mismo dato reflejado en el principal (en 'Visor')

Se le pone altura cero a 'contador', se le indica que esta ubicado en (0,0) y dejara de ser visible pero se vera su alias (el campo 'Visor' en el principal)

Aclaro lo de : MisDatos.Form.Contador
MisDatos ==> nombre del subformulario (como objeto del formulario principal)
Form ==> palabra reservada que indica que el objeto 'misdatos' es un formulario
Contador ==> Nombre del cuadro de texto del subformulario que tiene el valor que se desea visualizar en otra ubicación

Espero que la explicación sea útil para obtener ese resultado (visualizar en un formulario principal, un dato que esta en un subformulario 'hijo')
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