In a case like this, where the report is opened only periodically, I would not use an object frame, or indeed reference the Excel data directly. I would import the Excel worksheet into a local Access table, which I'd empty first, and use a query on this table in the report, as the RecordSource...