Rocky Smolin
rockysmolin at bchacc.com
Tue Oct 12 19:59:46 CDT 2010
Jim: cboLotSerialReferences is displaying a value. After the Set rs MsgBox rs.RecorCount displays 7 However... MsgBox "First record field value = " & rs.Fields("fldLotSerialReference").Value & "" Errors 3265 - Item not found in this collection So I added: Dim fld As Field For Each fld In rs.Fields MsgBox fld.Name Next fld And watched as each field name in the bound table tblLotSerial came up in sequence, among them was fldLotSerialReference. Strange, huh? It's fldLotSerialReference that's the problem - something strange there. I wonder what would happen if I deleted the field from the table and recreated it? Well what do you know - that fixed it! I wonder if there was some kind of hidden character in there? Anyway thanks for hanging in there with me. That was an odd problem. R -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Tuesday, October 12, 2010 3:55 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Error 3070 - field not recognized Hi Rocky: More obvious stuff: So the following code; MsgBox "Lot Combo selection = " & Me.cboLotSerialReferences.Column(0) ...is displaying a value. Assuming then that the value returned from the Lot combo box is correct and the search field is correct then how many rows/fields are being placed in the recordset 'Me.subfrmLotSerial.Form.RecordsetClone'? (...rs.RecordCount) with something like: With rs .movelast .movefirst MsgBox "records = " & .RecordCount End With ...and one final check, assuming that the record count has a value greater than zero check to see whether the field actually exists. MsgBox "First record field value = " & rs.fields("fldLotSerialReference").value & "" I am sure you have already checked this but decided to ask the obvious questions anyway. ;-) Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin Sent: Tuesday, October 12, 2010 1:10 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Error 3070 - field not recognized LotSerial combo has only one column. I put a MsgBox in to display strSQL and it looks right. It's the field fldLotSerialReference that it's having a problem with. strSQL reads fldLotSerialReference = 'xxx' after a selection is made from the combo box. The nearly identical code for the part number works just fine. That's what's so baffling. R -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Jim Lawrence Sent: Tuesday, October 12, 2010 12:40 PM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Error 3070 - field not recognized Hi Rocky: The obvious question would be whether the 'lot' combo is returning a value...right column?...or if it is a number field for lot number; have you set it to a string and then TRIMMED of extra spaces? Jim -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin Sent: Tuesday, October 12, 2010 11:38 AM To: 'Access Developers discussion and problem solving' Subject: Re: [AccessD] Error 3070 - field not recognized OK per a snip I saw on the web I changed the routine to use rs dimmed as a DAO.Recordset. There are two combo boxes the user can use to find a record - one for a part number, one for a lot number. The part number one works, lot number one fails: Private Sub cboLotSerialReferences_AfterUpdate() strSQL = "fldLotSerialReference = '" _ & Me.cboLotSerialReferences.Column(0) & "'" Set rs = Me.subfrmLotSerial.Form.RecordsetClone rs.FindFirst strSQL Me.subfrmLotSerial.Form.Bookmark = rs.Bookmark End Sub Private Sub cboPart_AfterUpdate() strSQL = "fldLotSerialPartNumber= '" _ & Me.cboPart.Column(0) & "'" Set rs = Me.subfrmLotSerial.Form.RecordsetClone rs.FindFirst strSQL Me.subfrmLotSerial.Form.Bookmark = rs.Bookmark End Sub Rocky -----Original Message----- From: accessd-bounces at databaseadvisors.com [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Rocky Smolin Sent: Tuesday, October 12, 2010 10:47 AM To: 'Access Developers discussion and problem solving' Subject: [AccessD] Error 3070 - field not recognized Dear List: This has got to be something simple that I'm just not seeing because I've used this technique for years with no problem. But I'm stumped. User selects a value from a combo box (in this case a lot number) and I use .FindFirst and .Bookmark to set the record selector to the selected record on a continuous form. The combo box is on the main form, continuous form is a sub form. (BTW I tried putting the combo right on the subform but had the same problem.) Here's the code: Private Sub cboLotSerialReferences_AfterUpdate() Dim strSQL As String strSQL = "fldLotSerialReference = '" _ & Me.cboLotSerialReferences.Column(0) & "'" MsgBox strSQL Me.subfrmLotSerial.Form.RecordsetClone.FindFirst strSQL Me.Bookmark = Me.RecordsetClone.Bookmark End Sub where fldLotSerial is a bound field on the subform. The MsgBox shows fldLotSerialReference = 'aaa'. On the .FindFirst statement I get error 3070 - Microsoft Jet database engine does not recognize 'fldLotSerialReference' as a valid field name or expression. Any clues? MTIA Rocky Smolin Beach Access Software 858-259-4334 Skype: rocky.smolin www.e-z-mrp.com <http://www.e-z-mrp.com/> www.bchacc.com <http://www.bchacc.com/> -- 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 -- 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