title: Why isn't MS Access "item found in collection?"
body: <p>I have a non-linked table "tblGrantRptData" in which I am trying to modify field records for subsequent filtering and export to EXCEL. I have ensured that all field names are correctly spelled, yet I still get an Error 3265, Item not found in this collection.</p>
  
  <p>I have confirmed that MemmonthlyIncome is the correct spelling and is identified in the design as "currency."  </p>
  
  <p><img src="https://i.stack.imgur.com/e2BXL.jpg" alt="enter image description here"></p>
  
  <p>here is the design veiw that appears to show the field name:</p>
  
  <p><img src="https://i.stack.imgur.com/dsMwE.jpg" alt="enter image description here"></p>
  
  <p>It stops at this line:
  If IsNull (!MemmonthlyIncome) Then</p>
  
  <p>with the error 3265</p>
  
  <p>If I can get some help to resolve this, I would then like to store the range "0-30"....</p>
  
  <p>One suggestion below was to “decompile" and "recompile.”   I have read that this may cause problems when the database is used on multiple workstations.  I have revised the code to just get to first base….Any suggestions?</p>
  
  <pre class="lang-vb prettyprint-override"><code>Private Sub cmdGenerateGrantRpt_Click()
  
  
  'now run the qqAll query - this generates the tblGrantRptData - then close the query
  
  DoCmd.SetWarnings False
  DoCmd.OpenQuery "qqAll", acViewNormal, acEdit
  DoCmd.Close acQuery, "qqAll"
  DoCmd.SetWarnings True
  
  'First set up the table: tblGrantRptData with the correct data in fields
  Dim db As DAO.Database
  Dim rs As DAO.Recordset
  
  Set db = CurrentDb
  Set rs = db.OpenRecordset("tblGrantRptData", dbOpenTable)
  
  'Check to see if the recordset actually contains rows and fill in particular values
  
  With rs
  If .EOF And .BOF Then
  MsgBox "There are no records in this time interval"
  Exit Sub
  
  Else
      .MoveFirst
      Do Until .EOF = True
          'Replace the monthly income with income categories
          If IsNull(!MemmonthlyIncome) Then
          .Edit
          !MemmonthlyIncome = "0-30"
          .Update
          End If
      Loop
  End If
  End With
  rs.Close 'Close the recordset
  Set rs = Nothing 'Clean up
  
  End Sub
  </code></pre>