Traspaso de valores con decimales en formulario de Escell

Tengo un formulario en el que tengo un capo de moneda, el primer problema es que tengo que utilizar la coma y no el punto y el segundo es que me traspasa los datos como texto y no como numero os adjunto el código

Private Sub CommandButton1_Click()
Dim ulfila As String
If Me.proveedor = "" Or Me.importe = "" Then
MsgBox (" Faltan Datos")

Else
ulfila = Sheets("Pagos").Cells(Rows.Count, "A").End(xlUp).Row
ulfila = ulfila + 1
Range("A" & ulfila).value = (Me.fecha)
Range("b" & ulfila).value = Me.fecha_factura
Range("c" & ulfila).value = Me.proveedor
Range("d" & ulfila).value = Me.n_factura
Range("e" & ulfila).value = FormatCurrency(Me.importe, 2)
Rem Range("e" & ulfila).value = Format(Me.importe, "###.##")
End If
Unload Me
Worksheets("Caja"). Activate

End Sub

2 respuestas

Respuesta
Respuesta

La primera línea de la ayuda del comando FORMAT en Access comienza así (literal):


Format (Función)

Devuelve un tipo Variant (String) que contiene una expresión formateada de acuerdo a las instrucciones contenidas en una expresión de formato.


Si se le aplica formato a un valor mediante FORMAT, siempre se obtendrá un TEXTO y si el valor es numérico (y se utilizara posteriormente), la conversion a texto no aporta ventaja, el formato siempre ha de aplicarse 'al final' (en la presentación final) nunca en medio de los cálculos.

Si el formato se le asigna al cuadro de texto (en formularios/informes), -el dato no se modifica- se modifica la 'visualización' del dato en ese cuadro de texto.

El formato regional de la maquina en la que 'corre' Access, puede generar problemas con el formato de los decimales y las listas de valores, en VBA se aplican las reglas de los creadores, fuera de el actúa la conversion al idioma local y (en la versión castellana) el punto decimal se convierte en coma y la coma en punto y coma, lo que si no se tiene en cuenta puede ser una fuente de conflictos.

¿Es indispensable esa conversión a texto en el traspaso de valores?, si lo es hay funciones que pueden ser útiles en el proceso por ejemplo: la función STR.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas