SQL - Convertendo casas decimais
Os comandos SQL utilizam a nomenclatura inglesa e como você já deve saber os ingleses utilizam o ponto decimal e não a virgula para casas decimais. Em consequência devemos converter a vírgula para ponto em comandos SQL.
Para fazer a conversão usamos uma função - ConverteDecimal - que converte a vírgula para ponto. Abaixo temos duas versões da função :
Versão para VB5:
Private Sub Form_Load() Dim Valor As Double Valor = 205.25 sql = " SELECT * From Pedidos Where Preco >= " & ConverteDecimal(Valor) End Sub Function ConverteDecimal(Valor As Double) Dim ret As String ret = Format(Valor) If InStr(ret, ",") <> 0 Then Mid(ret, InStr(ret, ","), 1) = "." End If ConverteDecimal = ret End Function
|
Versão para VB6: ( usamos a função replace)
Private Sub Form_Load() Dim Valor As Double Valor = 205.25 sql = " SELECT * From Pedidos Where Preco >= " & ConverteDecimal(Valor) End Sub Function ConverteDecimal(Valor As Double) Dim ret As String ret = Format(Valor) If InStr(ret, ",") <> 0 Then ret = Replace(ret, ",", ".") End If ConverteDecimal = ret End Function
|
E é só ...
José Carlos Macoratti