An unexpected “Enter Parameter Value” prompt usually means Access cannot resolve a field, control, function, or object name. Access treats the unknown identifier as a parameter, so the text shown in the dialog is the most useful clue.
Last updated: September 26, 2026.
PARAMETERS [Forms]![frmOrders]![txtCustomerID] Long;
SELECT OrderID, CustomerID, OrderedAt
FROM Orders
WHERE CustomerID = [Forms]![frmOrders]![txtCustomerID];A declared parameter is intentional. If the form, control, or field name is misspelled—or the form is closed—Access may display a prompt instead of using the expected value.
Start with the exact prompt text
Write down the identifier shown in the dialog, cancel the query, and search Query Design for the same text. Inspect the Field and Criteria rows, calculated expressions, sort expressions, and any saved query used as a source. A renamed field often remains in an expression such as Total: [OldFieldName] * [Quantity].
Trace forms and reports to their sources
- Open the form or report in Design View.
- Check its Record Source and every control’s Control Source.
- Inspect combo-box and list-box Row Source properties.
- Review grouping, sorting, filters, subforms, and subreports.
If a query references a form control, open that form before running the query directly. Use fully qualified references such as [Forms]![frmOrders]![txtCustomerID]. The Microsoft Support article on unexpected parameter prompts follows the same object-by-object diagnostic path.
Declare real parameters
For prompts that are intentional, add a PARAMETERS declaration with the correct type. This prevents Access from guessing that a date or number is text and makes the query easier to call from DAO. For reusable filters, follow the form-control parameter pattern; for dates, use the typed and time-safe criteria in the Access date criteria guide.