Jim Dettman
jimdettman at verizon.net
Wed Nov 6 08:55:09 CST 2013
Here's another more recent article with a little more info:
PRB: Explaining "Record is deleted" error accessing ODBC table
http://support.microsoft.com/kb/172339
One thing that you can sometimes do as well is use a different unique index
on the JET side. This is not at all obvious. You can find the technique
discussed here:
Optimizing Microsoft Office Access Applications Linked to SQL Server
http://msdn.microsoft.com/en-us/library/bb188204.aspx
Read the section "Adjusting Dynaset Behavior" in "Understanding and
Addressing Performance Issues". Also in "Understanding and Addressing
Updatability Issues" , read "Specifying a Unique Index".
While this article was written for SQL Server, I don't see why what is
stated would not work for any ODBC data source and it might get you around
your problem above.
Jim.
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert
Sent: Wednesday, November 06, 2013 09:18 AM
To: 'Access Developers discussion and problem solving';
'ACCESS-L at PEACH.EASE.LSOFT.COM'
Subject: Re: [AccessD] Getting the Primary Key of a New records in Oracle
That looked really promising, but as soon as the nPrimKey = ![ID] line
executed I got an error 3167: Record is deleted. ;-(
Sub GetLastModfied()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim nPrimKey As Long
Set db = curdb
Set rs = db.OpenRecordset("IB_Amounts", dbOpenDynaset)
With rs
.AddNew
!CovId = "Test"
!strComment = "Testing getting primary key"
.Update
.Bookmark = .LastModified
nPrimKey = !ID
.Close
End With
Set rs = Nothing
Set db = Nothing
Debug.Print nPrimKey, DLookup("Description", "IB_Amounts", "ID=" &
nPrimKey)
End Sub
Lambert
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rusty Hammond
Sent: Tuesday, November 05, 2013 4:49 PM
To: Access Developers discussion and problem solving;
ACCESS-L at PEACH.EASE.LSOFT.COM
Subject: Re: [AccessD] Getting the Primary Key of a New records in Oracle
Lambert, use the LastModified property:
With rst
.AddNew
![SomeField1] = "SomeValue"
![SomeField2] = "SomeValue2"
.Update
.BookMark = .LastModified
intPriKey = ![PrimKeyID]
End With
HTH,
Rusty
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Heenan, Lambert
Sent: Tuesday, November 05, 2013 3:14 PM
To: 'Access-D Email (accessd at databaseadvisors.com)'; 'ACCESS-L
Email(ACCESS-L at PEACH.EASE.LSOFT.COM)'
Subject: [AccessD] Getting the Primary Key of a New records in Oracle
Does anyone know how I can retrieve the primary key value from a new record
just added to a linked Oracle table using VBA?
I.e. I create a records using VBA, populate the fields with VBA and update
the record. How do I then find out what the primary key value allocated by
Oracle is? The key field is of type NUMBER(10) and it is populated by a
trigger (which I have no control over).
Lambert
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com
**********************************************************************
WARNING: All e-mail sent to and from this address will be received, scanned
or otherwise recorded by the CPI Qualified Plan Consultants, Inc.
corporate e-mail system and is subject to archival, monitoring or review by,
and/or disclosure to, someone other than the recipient.
**********************************************************************
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com