Cambiar el origen del control de un campo calculado

Siento que la pregunta me va a ser difícil de explicar porque ni yo mismo estoy muy claro de qué estoy haciendo.
Pregunta resumida:
Necesito cambiar el Origen del Control de registro que está siendo editado en un subformulario en vista Tabla.
Formulario Parent: "frmBarrera"
Basado en la tabla Usuarios que tiene una relación "Uno a Varios" y Tipo de Combinación No. 3 con la tabla tblTabla a través del campo auto numérico y Clave Principal: "IDUsuarios".
Subformulario: "frmTabla"
Está basado en la consulta: "qryPara_Tabla". Esta consulta tiene en la primera columna todos los campos de la tabla "tblTabla" y en las demás campos calculados: "QRYUSADO", "QRYHORAS", "QRYMINUTOS", etc. Hasta casi el final, donde tengo el campo calculado: "QRYCOBRADO". Este es el del problema.
En el subformulario tengo todos los campos calculados de la consulta y todos los campos de la tabla "tblTabla". Los campos de la tabla están ocultos en su mayoría (Visible = False) y en el evento: "Al Activar Registro" del subformulario se establece el valor de los mismos igual a su contrapartida de la consulta. Así:
[USADO] = [QRYUSADO]
[HORAS] = [QRYHORAS]
[MINUTOS] = [QRYMINUTOS]
[SUBTMINS] = [QRYSUBTMINS]
[TOTALMINS] = [QRYTOTALMINS]
[SUBTOTAL] = [QRYSUBTOTAL]
[TOTAL] = [QRYTOTAL]
[COBRADO] = [QRYCOBRADO]
[DIFERENCIA] = [QRYDIFERENCIA]
Esto lo hice con la intensión de que los resultados de los campos calculados de la consulta se guardaran en la tabla correspondiente: "tblTabla"
En el subformulario, además de los campos ocultos de la tabla: "tblTabla" hay otros visibles: [ID]-Auto numérico, Clave Principal de la tabla, [IDUsuarios]-Numérico, enlace con la tabla: "Usuarios" y campo: [TIPO]-Combobox con Tipo de Origen de la Fila en: Lista de Valores con los siguientes valores:
"NORMAL";"CORTESÍA";"FALTANTE";"FIT"
El objetivo es que cuando el usuario selecciona en este cuadro combinado "NORMAL" todos los cálculos de los campos calculados de la consulta se mantengan con las fórmulas que ya tienen
(Demás está decir que el valor predeterminado del cuadro de lista es: "NORMAL"), pero que cuando seleccione: "CORTESÍA" el valor del campo calculado "QRYCOBRADO" de sólo ese registro donde se selecciona "CORTESÍA" se ponga en 0 (cero), como es lógico.
Pero no lo logro. Lo único que he logrado en el evento Después de Actualizar del cuadro combinado es que TODO el campo "QRYCOBRADO" de TODOS los registros se pongan en 0 (cero), pero no es correcto, ya que debe ser SÓLO el del registro que se está editando.
¡Ojalá me haya explicado bien!
¿Por favor, alguien tiene alguna idea sobre cómo resolver este lío?
Desde ya más que agradecido por su atención y ayuda.

1 Respuesta

Respuesta
2

Prueba con esta línea en vez de la que tienes:

[COBRADO] = IIF([TIPO]="CORTESÍA";0;[QRYCOBRADO])

A ver qué tal.

Un saludo.


¡Gracias! Sveinbjorn El Rojo. Una vez más tu respuesta ha sido certera (muy buena puntería). Sólo tuve que cambiar las ";" por "," en la función que me propusiste y todo fue como la seda. ¡Gracias una vez más!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas