|From:||"Merlin Moncure" <merlin(dot)moncure(at)rcsonline(dot)com>|
|Subject:||Re: 'No Current Record' using Access linked to Postgres via ODBC - A possible resolution|
|Views:||Raw Message | Whole Thread | Download mbox|
You can also flip the 'row versioning' switch in the drver...this causes it to generate a where clause based on the key only. This was discussed in depth a couple of months back on this list.
From: pgsql-odbc-owner(at)postgresql(dot)org [mailto:pgsql-odbc-owner(at)postgresql(dot)org] On Behalf Of laurie(dot)burrow(at)powerconv(dot)alstom(dot)com
Sent: Thursday, January 06, 2005 4:51 AM
Subject: [ODBC] 'No Current Record' using Access linked to Postgres via ODBC - A possible resolution
Using MS Access to read/write a Postgres database using ODBC get the error message 'No Current Record' when making a simple update to a table record through the Access default form interface. The table has a integer primary key and other fields including a timestamp field. The problem is experienced only on some rows.There is no obvious difference between rows that work and rows that don't.
Although this problem is similar to that mentioned in several earlier postings, I found no definitive answer through Google. I have posted the resolution here in case it helps others with a similar predicament.
When Access issues the update to Postgres though ODBC it creates an update SQL query that uses all fields in the row as the 'where' clause. This includes the timestamp field. However, in the roundtrip from Postgres to Access on row read and then back to Postgres on row update the timestamp field loses resolution. As a result the 'where' clause does not match the corresponding Postgres record on the timestamp field. The update fails and Access reports 'No Current Record'.
The solution is to reduce the resolution of the timestamp stored in Postgres e.g. using a trigger and the date_trunc() function.
CONFIDENTIALITY : This e-mail and any attachments are confidential and may be privileged. If you are not a named recipient, please notify the sender immediately and do not disclose the contents to another person, use it for any purpose or store or copy the information in any medium.
|Next Message||Cristian Custodio||2005-01-06 22:43:02||Geting information about|
|Previous Message||laurie.burrow||2005-01-06 09:51:03||'No Current Record' using Access linked to Postgres via ODBC - A possible resolution|