Símbolo de moneda diferente (Q o $) en informe de Access

Tengo una pequeña duda.

Estoy trabajando en una pequeña base de datos en Access para imprimir facturas de la emprea donde trabajo. Es algo sencillo, tiene un formulario donde se ingresan los datos de la factura y estos se almacenan en una tabla. Cree una consulta para jalar los datos que necesito de la tabla e imprimirlos en un informe. El problema que tengo es que hay algunas facturas que se pagan en dolares $ y otros en Quetzales "Q." (moneda de Guatemala), la cosa es que cuando genero el informe sólo me toma el símbolo de la primera factura. Osea que si tengo 5 facturas, 4 en quetzales y la ultima está en dolares, a las 5 facturas me les pone símbolo de Quetzales(Q).

Lo estoy haciendo con una sencilla ocndición en el Informe

Private Sub Report_Load()
   If Moneda.Value = "Dolares" Then
        lblSimboloMoneda.Caption = "$."
    Else
        lblSimboloMoneda.Caption = "Q."
    End If
End Sub

Esper me puedan ayudar.

2 respuestas

Respuesta
2

Luis: Sin mirar mucho, has de programar lo que tienes, pero en el Evento Al dar Formato del Detalle del Informe. Para ello has de llevar el Campo Moneda al Informe, y si quieres lo ocultas.

Es la manera más simple que veo, porque seguro hay más. Mis saludos >> Jacinto.

Luis: Repasando ésta respuesta porque la he contestado, como te comentaba, sin mirar mucho, pienso que otra solución sencilla y sin códio es que ese simbolo sea un "campo calculado" en la Consulta que ya dices tener. Es decir >> Pasasel Campo Moneda a la consulta y en otro Campo pones>>

Simbolo:SiInm([Moneda]= "Dolar";"$";"Q")) y Simbolo pasaria al Informe como un Cuadro de Texto, no como una Etiqueta. Mis saludos >> Jacinto

¡Gracias!

Hice unos pequeños cambios, se que no es lo más estético y profesional, pero logre arreglarlo porque en la empresa lo querían para YA.

Imprimí directamente el campo "Moneda" en el informe!

Respuesta
2

Otra alternativa, más "elegante", por decirlo de alguna manera (sin menospreciar las propuestas de Jacinto, por supuesto), sería cambiar el formato del campo en función de la moneda, con lo que evitas tener que añadir una etiqueta o un cuadro de texto adicional.

En el evento "Al dar formato" de la sección detalle de tu informe le pones:

Private Sub Detalle_Format(Cancel As Integer, FormatCount As Integer)
If Me.Moneda = "Dólar" Then
Me.Importe.Format = ("$ #,###.00")
Else
Me.Importe.Format = ("\Q #,###.00")
End If
End Sub

Y listo! Esto también lo puedes usar para aplicarle el formato moneda a tu formulario (en otro evento, claro)

Saludos!


¡Gracias!

Probaré lo que me propones. Lo que hice fue imprimir directamente el campo "Moneda" en el informe, se que no es la mejor forma, pero en la empresa querían la BD para YA.

En este caso "Importe" que sería????

Importe sería el nombre del campo en el que tienes el importe de la factura. Supuse que era ese nombre por la primera imagen, aunque mirando bien, en el informe igual se llama Monto...

¡Gracias! 

Excelente Sveinbjorn El Rojo me funcionó muy bien. Sólo una duda más, hay alguna forma de hace que el símbolo aparezca alineado a  la izquierda y no pegado a la cantidad.

Gracias por tu apoyo!!!

El símbolo no aparece pegado a la cantidad, hay un espacio en medio.

Si te refieres a que el símbolo esté pegado al borde izquierdo, y los números al derecho, la respuesta es no, con este sistema no se puede hacer.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas