On 02/11/2016 03:10 PM, John Van De Giessen wrote:
> Hello,
>
> We are using Postgres 9.5 and ODBC ANSI driver version 9.05.01.00
>
> We are receiving the following error message:
>
> ODBC—update on a linked table ‘tblMembers’ failed
>
> ERROR: operator does not exist: money = double precision;
>
> Error while executing the query
That is correct as far as Postgres is concerned:
test=# select version();
version
-----------------------------------------------------------------------------------------------------------------------------
PostgreSQL 9.5.1 on i686-pc-linux-gnu, compiled by gcc (SUSE Linux)
4.8.3 20140627 [gcc-4_8-branch revision 212064], 32-bit
(1 row)
test=# select 1.24::money = 1.25::float;
ERROR: operator does not exist: money = double precision
LINE 1: select 1.24::money = 1.25::float;
^
HINT: No operator matches the given name and argument type(s). You
might need to add explicit type casts.
>
> This occurs when we attempt to Update a recordset to a table that
> contains a Money field using either:
>
> 1) Dao from within Delphi , or
>
> 2) >From within Access97 itself
>
> Note that we are not actually updating the Money field or referring to
> it in any way in the query; We are updating a Text field but the table
> happens to contain a Money field. (However, the same error occurs if we
> do attempt to update the money field)
>
> The PostgreSQL Money field maps to a Double in Access.
>
> Note: _This is NOT an issue when using the 9.03.xx ODBC driver_; In that
> case it also maps as a double and the same query/recordset update, works
> perfectly fine.
Have you turned on logging in both cases to see what the difference is?
>
> Regards,
>
> John Van De Giessen
>
> Thyme software
>
--
Adrian Klaver
adrian.klaver@aklaver.com