Correcto,
para el error en el SQL yo utilizo dos funcioncillas, una para quitar el formateo de miles y la otra para poner puntos en vez de comas (son dos pq también las utilizo por separado):
strValorCamp := strFormatDecimal(strTreuMascaraMilers(strValorCamp));
Código Delphi
[-]Function strTreuMascaraMilers(strNum: String): String;
var
i: Integer;
strTmp: String;
begin
strTmp := '';
for i := 1 to length(strNum) do
if strNum[i] <> '.' then strTmp := strTmp + strNum[i];
strTreuMascaraMilers := strTmp;
end;
Código Delphi
[-]Function strFormatDecimal(strNum: String): String;
begin
if (AnsiPos(',', strNum) <> 0) then
strNum := Copy(strNum, 0, AnsiPos(',', strNum)-1) + '.' +
Copy(strNum, AnsiPos(',', strNum) + 1, Length(strNum)-AnsiPos(',', strNum));
if strNum = '' then strNum := '0';
strFormatDecimal := strNum;
end;
Espero que te sirva