Suma de registros condicionada. Access

Quisiera saber como hago para que en un cuadro de texto dentro de un formulario me muestre la suma de registros de un campo, hasta ahí lo tengo.
En origen de control...   =Cuenta ([Nombre de campo])
Lo que necesito es que cuente todos los registros excepto cuando el registro es 0.
Por ejemplo: si tengo 3 registros:
10
0
25
El resultado quiero que sea 2.

1 respuesta

Respuesta
1
A bote pronto se me ocurre una forma que apenas tienes que tocar el formulario. La cosa consiste en crear una vista (consulta), donde la condición sea la y/las que marques. En el formulario sustituye la tabla actual por la consulta creada y ya lo tienes.
Lo que no entiendo mucho es lo de registro es 0, supongo que te refieres a campos vacios/nulos. Usa el valor is null para esto.
Gracias por contestar tan rápido, me ha servido de ayuda lo que me has comentado, ahora ya tengo una consulta que me da los datos que yo quiero, el problema es que soy incapaz de insertar esa consulta en el formulario, con lo cual no la puedo visualizar.
La pregunta es como visualizo los datos de esa consulta en el formulario, ¿se puede hacer?
Siguiendo el ejemplo anterior, ahora me da 2 en la consulta y me gustaría poder ver ese 2 en el formulario.
A tu duda te respondo: Tengo muchos registros de 0, los cuales tienen que estar no son registros vacíos, pero a la hora de contar el total de registros no los quiero contar.
Muchas gracias.
En las propiedades del formulario, en la solapa datos, veras que aparede el nombre de la tabla actual. Si despliegas esa propiedad veras que aparecen las tablas y consultas que actualmente tiene la BBDD. Simplemente tienes que cambiar la tabla actual por la consulta deseada.
Aconsejo hacer una copia del formulario y probarlo sobre la copia, no vaya a ser que aparezca algún campo que no exista en la consulta.
No voy a poder hacer eso.
En el formulario tengo varios subformularios vinculados y me da fallos.
Lo que yo necesito es una secuencia SQL que me sume el nº de registros excepto el registro que sea "x" . Y eso insertarlo en un cuadro de texto, algo visual sin más.
Algo tipo:
=Cuenta([NOMBRE DE CAMPO]) <>x
O sea... suma de todos los registros menos aquellos que sean "x"
Gracias por tu paciencia.
Puedes utilizar la siguiente función:
contador = dcount("[nombre"], "tabla_muestra")
En el campo contador tendrás la cantidad de registros de la tabla_muestra, cuya columna (campo) nombre este en blanco (vacío).
Si deseas otra condición el formato puedes guiarte por este ejemplo (cuenta los registros cuyo nombre no sea Francisco:
contador = dcount("[nombre] <> 'Francisco' , "tabla_muestra")
Espero haberte ayudado, un saludo,
Fcosapa
No me permite probar esta instrucción, me dice que
Omitió un operando o un operador, introdujo un carácter no válido...
Seguramente faltará alguna coma, o comilla, no se.
Gracias.
Perdón, error mio al transcribir, el formato es el siguiente:
contador = DCOUNT("[nombre] <> 'Francisco' ", "nombre_tabla")
Contador es un campo numérico
[nombre] Es el campo donde deseas buscar
nombre_tabla, la tabla dondes esta el [nombre].
Fíjate bien cuando son comillas y apóstrofos. [nombre] <> 'Francisco' va entre comillas, francisco entre apóstrofos.
Fcosapa
No hago carrera y la verdad no te quiero molestar ya más con todo esto.
He escrito el párrafo en varios sitios:
En origen de control de un cuadro de texto, en eventos de un campo nuevo, en una nueva consulta,... y nada, me da error.
Cabe destacar que el campo que quiero calcular está metido en un subformulario.
La única forma que me deja coger el texto es ésta:
=DCuenta("[nombre] <>'0' , nombre_tabla")
O sea quitando las comillas centrales, y no me ejecuta ninguna función. me dice #¿Nombre?
Pero si pongo solamenta:
=Cuenta("[nombre]")     entonces sí me suma, todos los registros incluidos los que no quiero que me sume.
Si se te ocurre algo ya me dirás, si no no te preocupes más, un saludo.
Sin algo más visual no puedo ayudarte, ya que el formato enviado es el que debe de ser, si lo deseas puedes enviarme pantallas del código a la siguiente dirección de correo para echarle un vistazo:
[email protected]
Un saludo,
fcosapa
Gracias fcosapa, al final lo solucione exportando datos de una consulta a una hoja excel, no es del todo lo que buscaba pero me vale.
Gracias por todo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas