Skip site navigation (1) Skip section navigation (2)

Re: Dealing with Insert Problems with Access

From: Jeff Eckermann <jeff_eckermann(at)yahoo(dot)com>
To: Greg Campbell <greg(dot)campbell(at)us(dot)michelin(dot)com>
Cc: psql-odbc(at)postgresql(dot)org
Subject: Re: Dealing with Insert Problems with Access
Date: 2004-04-21 20:17:03
Message-ID: 20040421201703.47640.qmail@web20802.mail.yahoo.com (view raw or flat)
Thread:
Lists: pgsql-odbc
--- Greg Campbell <greg(dot)campbell(at)us(dot)michelin(dot)com>
wrote:
> I am not absolutely sure about this, so I hope those
> who are don't 
> crucify me.
> I think using underlying tables with OIDs and/or
> using a timestamp 
> (default value of  Now())
> help the ODBC driver keep track of which record is
> which.
> I think the #DELETED# is because after some change -
> it doesn't know 
> which record is which.
> I do not think the VBA code even needs to refer to
> the OID or the 
> timestamp for this to work.

You are thinking of a different case, probably more
frequent in practice.  That one happens with updates:
the story IIRC is that, before saving an update,
Access fetches back the record and compares it with
the saved "old" values, to make sure that the record
has not been altered since it was first displayed to
the user.  Some oddities can cause Access to be fooled
into giving spurious errors.  I know that checking
"row versioning" in the driver fixes it, apparently by
substituting a guaranteed unique row id (ctid? I
forget).  There is more on this in the psqlodbc
project site.

> 
> Jeff Eckermann wrote:
> 
> >I have just deployed a MS Access client-server
> >application with a PostgreSQL 7.2.4 backend (not
> that
> >the version matters in this case).  I am bumping up
> >against the famous "#Deleted#" in every field issue
> >that comes up on this list from time to time.
> >
> >The problem is that, in this application, the data
> can
> >be quite sparse for some records, with the result
> that
> >some records only differ in their primary key
> value,
> >which is a serial in PostgreSQL.  When a new record
> >gets created, Access fails to find a unique record
> >with the same data values, so the error.
> >
> >I don't want to move to unbound forms/controls, so
> I
> >am looking for a minimalist way to solve the
> problem,
> >which would involve adding some "before insert"
> code
> >which will specify a unique value to be inserted. 
> I
> >am looking at two choices:
> >
> >* Do a "nextval" call to get the next serial value,
> >and specify it explicitly.  This involves an extra
> >network round trip (and an extra connection), but
> has
> >the benefit of being unequivocal.
> >
> >* Add a timestamp field to the table, and specify
> the
> >applicable value in my vba code.
> >
> >This app is not intensively used, so either
> solution
> >would probably work fine in practice.  Is there any
> >reason why I should prefer one over the other?  Or
> is
> >there another kind of solution altogether that I
> could
> >try?
> >
> >TIA
> >
> >
> >
> >	
> >		
> >__________________________________
> >Do you Yahoo!?
> >Yahoo! Photos: High-quality 4x6 digital prints for
> 25
> >http://photos.yahoo.com/ph/print_splash
> >
> >---------------------------(end of
> broadcast)---------------------------
> >TIP 1: subscribe and unsubscribe commands go to
> majordomo(at)postgresql(dot)org
> >  
> >
> > begin:vcard
> fn:Greg Campbell
> n:Campbell;Greg
> org:Michelin North America;ENG-IT
> adr;dom:;;2420 Two Notch Road;Lexington;SC;29071
> email;internet:greg(dot)campbell(at)us(dot)michelin(dot)com
> title:Systems Engineer
> tel;work:803-951-5561
> tel;fax:803-951-5531
> x-mozilla-html:FALSE
> version:2.1
> end:vcard
> 
> 



	
		
__________________________________
Do you Yahoo!?
Yahoo! Photos: High-quality 4x6 digital prints for 25
http://photos.yahoo.com/ph/print_splash

pgsql-odbc by date

Next:From: Jeff EckermannDate: 2004-04-21 20:22:41
Subject: Re: Dealing with Insert Problems with Access
Previous:From: Philippe LangDate: 2004-04-21 15:02:51
Subject: Re: Dealing with Insert Problems with Access

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group