Referencia circular ACCESS

Tengo el siguiente problema con una expresión en access, agradezco su ayuda.
Estoy tratando de efectuar el calculo de un precio de venta, el problema es que en el proceso es necesario multiplicar un valor por si mismo y el resultado que obtego es #Error pues al parecer incurro en la generación de un referencia circular, quisiera saber si es posible habilitar esta opción y si access lo permita, como en Excel donde se puede habilitar una opción que permite las iteraciones dentro del calculo en cualquier fórmula.
Estos son los campos que tengo:
[Costos totales]: Valor monetario
[Utilidad requerida]: Valor porcentaje
[Comision]: Valor en porcentaje
La fórmula es la siguiente(dicha expresión se captura en un campo que tiene por nombre PRECIO SUGERIDO):
=(([Comision]*[PRECIO SUGERIDO])+[Costos totales])*(1+[Utilidad sugerida])

2 Respuestas

Respuesta
1
desde Bogotá D. C., Colombia:
Respecto a la fórmula y sus preguntas le respondo lo siguiente:
1. En Access no existe error de referencia circular, ya que es un manejador de bases de datos, y ese tipo de error corresponde a una hoja electrónica cuando hacia una misma celda se ejecuta una operación.
2. Como sugerencia, en lugar de dejar espacio entre las palabras que componen el nombre de un campo, se sugiere utilizar el guión (-) o el subrayado o guión al piso (_). Ej. en lugar de [Costos Totales], se sugiere [Costos-Totales], o la notación [Costos_Totales]. No es obligatoria esta notación, pero si evita que Access interprete mal el nombre del campo. De hacer la modificación a la notación sugerida, es necesario realizarla dentro de cada una de las tablas en las cuales se encuentran los campos.
3. Por lo que veo, no sé a que esta asignando la operación que indica, pero siempre es mejor utilizar el nombre de la tabla de la cual provienen los campos para determinar mejor el origen de la información. Ej: [Tabla_1]. [Comisión]*[Tabla_1].[PRECIO_SUGERIDO], etc. Así mismo, definir variables para asignar los valores de cada uno de los campos con el fin de determinar si los campos si contienen valores con los cuales se pueda realizar una operación matemática válida.
Respuesta
1
Tu fórmula es correcta
1.-   total.Value = ((80 * [PRECIO SUGERIDO]) + 123) * (1 + 45)
2.-   = ((80 * [PRECIO SUGERIDO]) + 123) * (1 + 45)
Debería de funcionar, revisa los campos Costos comisión y utilidad, en uno de ellos está el fallo.
Oye he revisado los campos de comisión y de utilidad pero todo parece estar correcto. Hice una prueba creando un nuevo campo y introduciendo los datos directamente con la formula que has sustituido: = ((80 * [PRECIO SUGERIDO]) + 123) * (1 + 45). Pero el mensaje de error es exactamente el mismo y al parecer no permite al campo tomarse así mismo como un dato más de la fórmula.
Entonces, por lo que me comentabas anteriormente si es posible multiplicar por si mismo a un campo, ¿es decir introducirlo en la expresión para la realización de alguna operación? Al parecer sigo teniendo el mismo problema de la REFERENCIA CIRCULAR
Gracias por tu ayuda.
Bueno ya veo que no se te ha solventado, dime una cosa, que nombre tienes en la etiqueta y que nombre de la etiqueta tiene el campo, es decir si precio sugerido es el nombre del campo, ¿cómo etiqueta que nombre tiene?
El nombre de la etiqueta es: Precio_sugerido. (El punto es la diferencia)
Campo: Precio sugerido
Los problemas de referencia circular es debido que la select o consulta porque tiene un Alias idéntico, lo mismo puede pasar con el control y su nombre, pero bueno, yo no puedo ver tu db ni intuir porque te falla, pero si te puedo decir que lo que te pasé funciona llámese pepe o juan, además verifica todos los pasos hata llegar al control a ver si en algún sitio (consulta) tienes algo raro que no te deja avanzar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas