Actualizar una tabla con un valor con decimales

Estoy intentado actualizar el campo precio de una tabla, el cual puede tener decimales. Este es el código que estoy usando:

Private Sub Comando56_Click()
    On Error Resume Next
    Dim Precio As Double
    Select Case MsgBox("¿Aceptas?", vbYesNo Or vbQuestion Or vbDefaultButton1, "Atención")
        Case vbYes
            Precio = InputBox("¿Precio?")
            CurrentDb.Execute "UPDATE TLibros SET [Estado]=" & "5" & ", [PrecioPagado]=" & Precio & " WHERE Titulo='" & Me.Titulo & "'"
            Me.Requery
        Case vbNo
            Exit Sub
    End Select
End Sub

Me de dado cuenta de que, si introduzco un precio sin decimales, tipo "5", funciona todo bien. Ahora bien, si inserto uno como "5,5", no lo coge. Creo que el problema viene en el formato Double, pero no sé cuál debo poner.

Respuesta
2

Usa Relace() para cambiar en el valor numérico la coma decimal por un punto (el separador decimal que entiende el lenguaje SQL) o la función CStr() para pasarle el valor como texto y que se encargue él de convertirlo a número.

Es decir, en la linea que construyes la SQL haz:

... [PrecioPagado]=" & Replace(Precio,",",".") & "WHERE...

... [PrecioPagado]=" & CStr(Precio) & "WHERE...

Ahora tengo la duda de si la función es CStr() o simplemente Str(). Prueba a ver... XD

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas