Access - valor cero en campos calculados en una consulta

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

valor cero en campos calculados en una consulta

Publicado por Luis (24 intervenciones) el 25/07/2019 17:52:46
Hola, este mensaje esta relacionado con el anterior, al parecer todos los registros obtenidos a partir de calculos dentro de un formulario al hacer la consulta en la tabla que me devuelve, todos los registros de esos campos calculados no me muestran el valor sino 0.

Pues eso a ver si me podéis ayudar.

muchísimas 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
Imágen de perfil de Francisco
Val: 467
Plata
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

valor cero en campos calculados en una consulta

Publicado por Francisco (211 intervenciones) el 25/07/2019 21:22:38
Hola


Coloque por aqui la consulta que realizas para poder analizar

Saludos
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: 48
Ha aumentado su posición en 3 puestos en Access (en relación al último mes)
Gráfica de Access

valor cero en campos calculados en una consulta

Publicado por Luis (24 intervenciones) el 26/07/2019 08:46:18
Hola francisco, ya se lo que pasa, el campo calculado del formulario tiene que guardarse en una tabla y no consigo que se haga.
hice varios intentos con VBA pero los eventos no actualizaban el resultado del calculo en el momento.
El tema es que no se como compaginar que se haga el calculo y que se guarde en la tabla al mismo tiempo, como esto no sucede luego al hacer la consulta como la tabla no almacena nada pues sale el 0 creo que por defecto.

graciassssss
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

valor cero en campos calculados en una consulta

Publicado por Anonimo (3316 intervenciones) el 26/07/2019 09:26:32
No veo claro el concepto de 'campos calculados' y 'valores en las tablas' .

Un dato calculado, que se puede VISUALIZAR en un formulario y en una consulta que tenga el mismo origen de datos, no tiene que ver con un dato que se guarda en una tabla, aunque el origen del dato guardado sea un calculo.

.- Uno (el dato calculado) es un dato ficticio, en un formulario se genera para el registro actual (lo mismo en/para una consulta)
.- Otro (el campo de la tabla) tras CALCULARLO la primera vez, se guarda en la tabla y no necesita volver a ser calculado para obtenerlo.

Si los ¿campos calculados? visibles en el formulario, se logran con datos de ese mismo registro (total = cantidad * valor) guardar ese dato es redundante e innecesario pues cualquiera de ellos puede obtenerse en base a los otros dos (o tres … o los que intervengan).

Quizás en ese formulario (posible método en entrada de datos) sea preciso utilizar una MACRO, función, sentencia VBA …. que tras el calculo (mediante la acción ESTABLECER VALOR que tienen las macros o la adecuada al método) asigne el calculo obtenido al campo de la tabla

Tras ese guardado ya no se precisara hacer el calculo ni en el formulario ni en la consulta, eso si la modificación de cualquiera de los datos que intervenga, obligara al RECALCULO de ese valor para que los datos en su conjunto sigan siendo coherentes.

Es la diferencia entre guardar o no un calculo:
.- uno (el dato calculado) representara a un valor 'vivo'
.- el otro (el calculo guardado) representara a ese calculo en el momento de ser efectuado

Esto es:
si en este ejemplo de calculo (Total = cantidad * valor) se modifica uno de los datos sea cantidad o valor, cuando se visualice en la consulta o en el formulario presentara un valor REAL y coherente con sus orígenes, si se guardase el calculo y tras ello se modificase uno de los elementos de su origen, el resultado de total no seria coherente con los orígenes de datos (se tendría que recalcular y volver a guardar).

Adenda:
Si se crea un campo en una tabla y NO se le asigna valor, pueden suceder dos cosas, que sea indeterminado (NULL) o que tome valor por defecto (generalmente cero), que a ese campo se le llame igual que a otro calculado … no implica que sean el mismo dato, el de la tabla mientras no se le asigne valor será NULL o cero y mostrara y calculara en función de su contenido (que no sea Null, hacen verdaderos estropicios en cualquier momento inesperado)
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: 48
Ha aumentado su posición en 3 puestos en Access (en relación al último mes)
Gráfica de Access

valor cero en campos calculados en una consulta

Publicado por Luis (24 intervenciones) el 26/07/2019 10:58:45
gracias por tu respuesta Anónimo :)

El campo del formulario donde se ejecuta el calculo es un valor importante que debe guardarse en una tabla, es decir no es como multiplicar para saber el precio menos un descuento, ese campo calculado no es meramente informativo sino que debe almacenarse.
Yo para hacer ese calculo como no llego mas lejos en access situo el calculo (formula) de ese valor en la casilla de propiedades origen de los datos, claro al colocar eso ahi , luego no puedo referir el resultado de los calculos a una tabla, puesto que origen de los datos esta ocupado por la formula y no guarda ningun valor en la tabla porque no lo puedo referenciar o no se donde hacerlo.
Mi duda es como poder hacer un calculo y que el origen de datos quede libre para poder apuntar el valor de ese campo del formulario a su campo correspondiente en una tabla?
si soluciono eso al hacer la consulta estoy convencido que también ser arreglará.

espero haberme explicado mejor en esta ocasión

saludos
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: 57
Ha disminuido 1 puesto en Access (en relación al último mes)
Gráfica de Access

valor cero en campos calculados en una consulta

Publicado por Pedro Vicente (24 intervenciones) el 26/07/2019 22:38:55
En origen de datos del cuadro calculado pones el campo de la tabla en que quieres guardarlo (vamos, como todos los demás)
Supongamos que en la tabla tienes los campos "valororiginal" y "valor calculado" que es el valororiginal multiplicado por 2. En origen de datos de cada uno pones el campo correspondiente de la tabla. En el campo "valororiginal" en el evento "después de actualizar" pones: me.valorcalculado.value = me.valororiginal.value * 2

Y te lo guardará, espero.
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

valor cero en campos calculados en una consulta

Publicado por Anonimo (3316 intervenciones) el 27/07/2019 00:01:51
Sea o no importante, lo de se trata es que el dato (una vez calculado) ha de ser guardado.

Las condiciones que ha de cumplir en principio es que todos los elementos que en su conjunto dan lugar al campo han de existir, esto es:

EL calculo ha de estar finalizado y corresponderse con el dato final a guardar (si aceptamos como ejemplo el anteriormente utilizado) para poder guardar total como dato en la tabla, ha de hacerse tras tener datos definitivos en los campos 'cantidad' y 'Valor'.

Una macro (que se ejecutase por ejemplo en el evento 'después de actualizar') de ambos campos (cantidad, valor) debería verificar que hay un dato coherente (por ejemplo diferente de cero) en ambos, de haberlo con la acción de macro 'establecer valor' le asigna al campo total el resultado, al guardar el registro ese campo queda almacenado y … fin del problema.

En principio una macro que valide ambos (todos) los elementos y si falta alguno salga sin hacer nada (lo hará cuando se le de valor al siguiente si se cumple la condición y si no se cumple … no hará nada) puede ser la misma para todos los datos que intervengan en el calculo.
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