Rocky Smolin
rockysmolin at bchacc.com
Tue Jun 8 10:09:18 CDT 2010
Gustav:
Yes. I inserted this code:
Set rsPODetail = db.OpenRecordset("Select fldPODRevision FROM tblPODetail
WHERE fldPOHID = " & Me.fldPOHID)
If rsPODetail.BOF = False And rsPODetail.EOF = False Then
rsPODetail.MoveLast
MsgBox rsPODetail.RecordCount
Do While rsPODetail.EOF = False
MsgBox rsPODetail!fldPODRevision
and the record count comes up with 3 - that's correct. And the MsgBox
displayed rsPODetail!fldPODRevision without a problem.
Any clues there?
TIA
Rocky
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Gustav Brock
Sent: Tuesday, June 08, 2010 7:49 AM
To: accessd at databaseadvisors.com
Subject: Re: [AccessD] Item Not Found In This Collection
Hi Rocky
Will this return a record:
Set rsPODetail = db.OpenRecordset("Select fldPODRevision FROM tblPODetail
WHERE fldPOHID = " & Me.fldPOHID)
Further, why not just open the table once:
Set rsPODetailNew = db.OpenRecordset("Select * FROM tblPODetail WHERE
fldPOHID = " & Me.fldPOHID) Set rsPODetail = rsPODetailNew.Clone
/gustav
>>> rockysmolin at bchacc.com 08-06-2010 16:14 >>>
Dear List:
I am cloning a purchase order, so I'm cycling through the PO detail lines,
creating a new PO Detail record for each existing detail record. I've
already copied the PO Header record and have the PK available. All's well
until it comes to one specific field in the PODetail copy code and then I
get the message 'Item Not Found In This Collection'.
The code to copy is:
rsPODetailNew.AddNew
rsPODetailNew!fldPOHID = rsPOHeader!fldPOHID
rsPODetailNew!fldPODLineNumber = rsPODetail!fldPODLineNumber
rsPODetailNew!fldPODPartNumber = rsPODetail!fldPODPartNumber
rsPODetailNew!fldPODVendorPart = rsPODetail!fldPODVendorPart
rsPODetailNew!fldPODPartDescription =
rsPODetail!fldPODPartDescription
rsPODetailNew!fldPODUOM = rsPODetail!fldPODUOM
rsPODetailNew!fldPODUnitCost = rsPODetail!fldPODUnitCost
rsPODetailNew!fldPODDateRequired = rsPODetail!fldPODDateRequired
rsPODetailNew!fldPODQuantityOrdered =
rsPODetail!fldPODQuantityOrdered
rsPODetailNew!fldPODQuantityReceived =
rsPODetail!fldPODQuantityReceived
rsPODetailNew!fldPODTaxable = rsPODetail!fldPODTaxable
rsPODetailNew!fldPODPosted = rsPODetail!fldPODPosted
rsPODetailNew!fldPODRevision = rsPODetail!fldPODRevision
rsPODetailNew.Update
and the offending line is rsPODetailNew!fldPODRevision =
rsPODetail!fldPODRevision. Where fldPOHID is the FK to the Header.
Both rsPODetailNew!fldPODRevision and rsPODetail!fldPODRevision show as not
being in the collection when I hover over them with the pointer. So it's
common to both recordsets.
The two recordsets are opened thusly:
Set rsPODetail = db.OpenRecordset("Select * FROM tblPODetail WHERE fldPOHID
= " & Me.fldPOHID) Set rsPODetailNew = db.OpenRecordset("Select * FROM
tblPODetail")
where Me.fldPOHID is the PK of the PO to be copied.
Very straightforward.
The Field fldPODRevision is in the table - I did a cut and poaste to avoid
typos. All the other fields copy fine. When I comment out the line with
the problem, the PO copies perfectly.
Usually this kind of intractable problem can be solved by writing out the
description to the list and in the process I see where the error is and
never send the email. In this case, here I am at the end of the post and
still can't see why that one field should no be in the collection.
Ay speculations welcome.
MTIA
Rocky Smolin
Beach Access Software
858-259-4334
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com