Foros del Web » Soporte técnico » Ofimática »

Access: expresiones

Estas en el tema de Access: expresiones en el foro de Ofimática en Foros del Web. Hola, ojalá alguien pueda ayudarme xD Tengo una tabla en Access llamada Facturas, y esta tienen los campos clásicos de una factura y yo añadí ...
  #1 (permalink)  
Antiguo 09/02/2009, 21:35
 
Fecha de Ingreso: enero-2001
Mensajes: 222
Antigüedad: 23 años, 3 meses
Puntos: 0
Access: expresiones

Hola, ojalá alguien pueda ayudarme xD

Tengo una tabla en Access llamada Facturas, y esta tienen los campos clásicos de una factura y yo añadí un campo para identificar si es válida, cancelada o referenciada a una nota de crédito.

Hice una consulta que me muestra todas las facturas en un periodo de tiempo, luego hice un informe y todo bien, muestra todas las facturas. Pero a la hora de querer poner el monto total facturado en el periodo de tiempo me pone el monto total de TODAS las facturas, y no ignora las marcadas como canceladas (que van en ceros por lo regular) pero las que tienen marcada 'nota de crédito' si llevan un monto que debe ser ignorado.

En SQL lo haría con un simple where factura_estatus= ok y así todo bien, pero en el informe no sé como hacerlo, Ya busqué y creo que es con expresiones, pero tampoco dí con la solución.

Alguna sugerencia??
Gracias de antemano, que por cierto, tampoco puedo usar los distinc en esos informes :/

Saludos
  #2 (permalink)  
Antiguo 09/02/2009, 22:10
 
Fecha de Ingreso: enero-2001
Mensajes: 222
Antigüedad: 23 años, 3 meses
Puntos: 0
Respuesta: Access: expresiones

Pues básicamente es si puedo hacerlo con expresiones en Access?? O sea, meter en la expresión

=suma(Total Factura]) where validez=ok

Lo anterior pues no funciona, pero es algo así la idea que tengo.

Gracias por la ayuda de antemano!
  #3 (permalink)  
Antiguo 10/02/2009, 02:23
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Respuesta: Access: expresiones

Puedes perfectamente usar sql. Es decir, la propiedad origen del registro del informe, es una tabla o consulta, y los registros que esta devuelva será lo que se refleje en el informe. Por tanto, con incluir en la consulta origen ese "where factura_estatus= true", seria suficiente

Un saludo
  #4 (permalink)  
Antiguo 10/02/2009, 12:20
 
Fecha de Ingreso: enero-2001
Mensajes: 222
Antigüedad: 23 años, 3 meses
Puntos: 0
Respuesta: Access: expresiones

Gracias por la ayuda, pero es que no está funcionando así.

El informe se genera con los campos de una consulta y todo bien, pero a la hora de aplicar ese 'where' no funciona.

En las propiedades, seleccione origen de control y anoté:

=suma([Total Factura]) where validez=ok
=suma([Total Factura]) where validez="ok"

Y me devuelve el siguiente error:
La expresión que introdujo tiene una sintaxis no válida. Es posible que haya introducido un operando sin un operador.

Probé de otras maneras y tampoco. Alguna sugerencia??

Gracias de antemano!!
  #5 (permalink)  
Antiguo 11/02/2009, 02:39
Avatar de Taribo007  
Fecha de Ingreso: agosto-2007
Mensajes: 1.338
Antigüedad: 16 años, 8 meses
Puntos: 18
Respuesta: Access: expresiones

Que tipo de campo es validez???

Te comentaba que modifiques la propiedad origen del registro del informe, no el origen de control. En ese origen puedes establecer los regsitros que quieres mostrar.

Un saludo
  #6 (permalink)  
Antiguo 14/02/2009, 09:21
 
Fecha de Ingreso: julio-2006
Ubicación: Madrid
Mensajes: 943
Antigüedad: 17 años, 9 meses
Puntos: 56
Respuesta: Access: expresiones

Hola,
Hablo un poco de memoria y no sé seguro si la solución va or aquí, pero creo que debes realizar el campo con el total usando la función DSUM en lugar de la típica SUM.

Echa un vistazo y me cuentas. Por mi parte intentaré mirarlo con más detenimiento para ver si realmente es válido el uso de esa función para tu necesidad.

Un saludo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:57.