Generador de Expresiones para Campo Calculado Access

Estoy atorado con el generador de expresiones, necesito crear un campo calculado [(TotalRentaEquipo)] que se basa en lo siguiente:

Suma las cantidades del campo "Importe", SÍ la casilla de verificación "Franja" esta Desactivada (osea No)...

1 respuesta

Respuesta
2

Carlos : Utiliza la Función DSum

Partiendo de que estamos en un Formulario
Me.TotalRentaEquipo  = DSum("[Importe]","[NombreDeTutabla]","[Franja] = 0")

Mis saludos >> Jacinto

¿Disculpa y en que evento pongo esa línea?

Carlos: Tu verás en el que mejor te encaja.

Puede ser un Botón, En el After Update de algún control que tengas que llenar, en el FormCurent... Mis saludos Jacinto

Olvide un grandísimo detalle Jacinto, el campo (TotalRentaEquipo), debería sumar ese "total" pero no el total de toda la tabla, sino de los registros que se están ingresando de acuerdo a su IDSitio ( que es mi campo llave en la tabla principal):

Explico: un Sitio (supongamos Cartagena), tiene varias antenas que tienen un costo (Importe); ese Importe quiero que lo sume en el campo "TotalRentaEquipo", solo si "Franja esta en Cero. peroese total solo tiene que ser del Sitio "Cartagena". no de toda la tabla...

Carlos: Dime por favor como muestras la Información.

Formulario Normal o Continuo o Principal y SubFormulario etc.

Te lo miraría en la mañana porque aquí ya es muy tarde. Mis saludos >> Jacinto

Carlos: Para que adelantes, si tienes ese ID en el Formulario, Añade otro criterio al DSum

Me.TotalRentaEquipo  = DSum("[Importe]","[NombreDeTutabla]","[Franja] = 0" & " AND " & "[ID] = " & Me.Id)

Mis saludos >> Jacinto

Es un formulario normal, todos los campos los tomo de una tabla que se llama tabInventario, la cual tiene relación el campo [IdSitio] con el campo [IdSito (llave primaria)] de la tabSitios, con relación uno a muchos...

Carlos: Esto lo he recibido después de Ampliarte la respuesta, de modo que sería.

Me.TotalRentaEquipo  = DSum("[Importe]","[TabInventario]","[Franja] = 0" & " AND " & "[IdSitio] = " & Me.IdSitio)

Creo no haberme dejado nada, porque aéstas horas se amontonan un poco las letras.

Mis saludos >> Jacinto

Jacinto: Buen Dia, eh llegado al trabajo y eh puesto el codigo a prueba, pero no funciona, no hace la suma, y manda un error cada que actualizo el formulario, te adjunto una foto de mi formulario, con algunas anotaciones:

puse el codigo en el cuadro de texto "TotalRentaEquipo", dentro del evento After_Update, y cuando ingreso el importe y dejo "desactivado" la Franja me manda un error que dice "La expresion que ha especificado como parametro de la consulta produjo el error 'QU7389.

Carlos: Por lo que puedo ver, el IdSitio es un Campo de Texto, y como tal lo has de tratar.

Me.TotalRentaEquipo  = Nz(DSum("[Importe]","[TabInventario]","[Franja] = 0" & " AND " & "[IdSitio] = '" & Me.IdSitio & "'"),0)

Te he puesto el Nz para forzar a Cero

Lo que no veo es el evento, porque en realidad ese Campo justo es el que se calcula.

Al desconocer tu operativa es dificil sugerirte el lugar más idóneo, pero mejor prueba en el Form_Curren() >> Al actualizar. Recuerda activar el Procedimiento de Evento.

El origen de Datos de ese "Control", ha de ser el del campo de tu tabla si lo guardas o ninguno (independiente) si no lo guardas.

Ya me contarás. Mis saludos >> Jacinto

¡Gracias! Efectivamente ese era el detalle, fue lo de IdSitio ya que si es texto, ha funcionado perfectamente. Te agradezco mucho Jacinto, por tu tiempo y paciencia. Un abrazo!

Mil gracias!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas