Иногда при открытии объекта Access (например, таблицы, запроса, формы или отчета) отображается диалоговое окно Введите значение параметра. При открытии объекта, содержащего идентификатор или выражение, которые Access не может интерпретировать, откроется следующее диалоговое окно.
В некоторых случаях это как раз то, что нужно пользователю. Например, создатель базы данных может настроить запрос, который позволяет вводить информацию при каждом его запуске, например дату начала или код сотрудника. Такое диалоговое окно может выглядеть следующим образом:
Однако в других случаях это диалоговое окно отображаться не нужно. Например, вы могли внести некоторые изменения в дизайн базы данных. Теперь при открываемом объекте в Access неожиданно открывается диалоговое окно с сообщением, которое вы не понимаете.
В этой статье описывается, как установить причины запроса определенных значений параметров в Access и как прекратить такие запросы.
Примечание: Эта статья не относится к веб-приложениям Access — типам баз данных, которые вы проектаете в Access и публикуете в Интернете Microsoft 365 или SharePoint.
Как прекратить запросы значения параметра
Чтобы диалоговое окно Введите значение параметра больше не появлялось, необходимо проверить все выражения, связанные с рабочим объектом, и найти идентификатор, который вызывает это окно. Затем необходимо исправить идентификатор или синтаксис выражения, которое содержит этот идентификатор.
Дополнительные сведения о синтаксисе выражений приведены по ссылкам в разделе «См. также».
При появлении нежелательного диалогового окна Введите значение параметра обратите внимание на идентификатор или выражение, отображенные в диалоговом окне. Например, «SomeIdentifier», как показано на снимке экрана ниже.
Нажмите кнопку «Отмена» и выполните одну из следующих процедур в зависимости от типа объекта, при открытии которого появляется диалоговое окно. Ниже приведены общие инструкции для проверки выражений в различных типах объектов. Следует учесть, что конкретные изменения, которые необходимо внести, зависят от структуры базы данных.
Типографические ошибки в запросах являются частой причиной появления нежелательных диалоговых окон. Как было указано ранее, если запрос предназначен для получения данных о значении параметра при запуске, появляется диалоговое окно Введите значение параметра. Но если запрос не должен запрашивать значение параметра, попробуйте найти в запросе неправильные выражения, используя следующий порядок действий.
-
Щелкните правой кнопкой мыши запрос в области навигации и выберите Режим конструктора.
-
Проверьте идентификаторы и выражения в строке Поле и строках Условия и определите, соответствует ли их текст отображенному в диалоговом окне Введите значение параметра. В частности, если одна из ячеек в строке Поле содержит значение Expr1: [идентификатор], оно может быть причиной появления диалогового окна.
Ссылки на дополнительную информацию о создании запросов параметров см. в разделе «См. также».
К началу страницы
Если при открытии отчета появляется диалоговое окно Введите значение параметра, выполните следующие действия для проверки свойств отчета.
-
В области навигации щелкните отчет правой кнопкой мыши и выберите команду Режим конструктора.
Примечание: Перед тем как продолжить, посмотрите, не отображается ли в левом верхнем углу любого из элементов управления в отчете зеленый треугольник. Треугольник обозначает, что Access не может оценить идентификатор или выражение в свойстве Данные этого элемента управления. Если какой-то элемент управления содержит зеленый треугольник, обратите на него особое внимание при выполнении следующих действий.
-
Если область задач Страница свойств не отображается, нажмите клавишу F4.
-
В области задач Страница свойств откройте вкладку Все.
-
Выберите элемент управления, который отображает данные в отчете (например, текстовое поле, ячейку или поле со списком). Если в каких-то из элементов управления отображается зеленый треугольник, о котором говорилось в шаге 1, щелкните сначала один из этих элементов.
-
В области задач Страница свойств проверьте, есть ли в свойстве Данные идентификатор, который отображается в диалоговом окне Введите значение параметра, а затем при необходимости измените выражение.
-
Повторите шаги 4 и 5 для других элементов управления в отчете, пока не найдете выражение, которое является причиной проблемы.
-
Если найти проблему все равно не удается, проверьте наличие неправильных выражений в области Группировка, сортировка и итоги:
-
если область Группировка, сортировка и итоги не отображается, на вкладке Конструктор в группе Группировка и итоги нажмите кнопку Группировка и сортировка;
-
если в области Группировка, сортировка и итоги отображаются пункты «Сгруппировать по выражению» или «Сортировать по выражению», щелкните слово «выражение», чтобы открыть конструктор выражений, где можно проверить выражение и при необходимости изменить его.
-
К началу страницы
Если диалоговое окно Введите значение параметра появляется каждый раз при открытии формы, неправильное выражение может находиться в базовом запросе. Проверьте базовый запрос на предмет неправильных выражений.
-
В области навигации щелкните форму правой кнопкой мыши и выберите пункт Конструктор.
-
Если область задач Страница свойств не отображается, нажмите клавишу F4.
-
Убедитесь, что в списке вверху панели задач Страница свойств выбран пункт Форма, и перейдите на вкладку Все.
-
Изучите свойство Источник записи. Если оно содержит название запроса или инструкцию SQL, один из идентификаторов в выражении может быть неправильным, что и вызывает появление диалогового окна Введите значение параметра. Выберите поле свойства «Источник записей» и нажмите кнопку «Построить»
. -
Чтобы найти неправильное выражение, следуйте инструкциям в разделе Проверка выражений в запросе.
Важно: Чтобы сохранить изменения, внесенные в запрос, закройте его, а затем сохраните форму, перед тем как переходить назад в представление. В противном случае все внесенные изменения будут потеряны.
К началу страницы
Неправильное выражение в параметре Источник строк такого элемента управления, как поле со списком или окно со списком, может стать причиной появления диалогового окна Введите значение параметра. В некоторых случаях диалоговое окно не появляется до попытки использовать элемент управления. Для проверки параметра Источник строк элемента управления используйте следующий порядок действий.
-
В области навигации щелкните форму правой кнопкой мыши и выберите пункт Конструктор.
-
Выберите поле или окно со списком, которое необходимо проверить.
-
Если область задач Страница свойств не отображается, нажмите клавишу F4.
-
Перейдите на вкладку Данные, проверьте свойство Источник строк и определите, соответствует ли текст тексту в диалоговом окне Введите значение параметра.
К началу страницы
Если Access отображает диалоговое окно Введите значение параметра каждый раз при открытии таблицы, скорее всего, неправильное выражение содержится в свойстве Источник строк поля подстановки этой таблицы.
-
В области навигации щелкните таблицу правой кнопкой мыши и выберите пункт Конструктор.
-
Чтобы определить, является ли поле полем подстановки, щелкните название поля, а затем в контекстном меню Свойства поля выберите вкладку Подстановка. Если вкладка содержит свойство Источник строк, поле является полем подстановки. Изучите свойство Источник строк. Если оно содержит инструкцию SQL, значит один из идентификаторов в выражении может быть неправильным, что и вызывает появление диалогового окна Введите значение параметра.
Примечание: Таблица может содержать несколько полей подстановки, поэтому проверьте вкладки подстановки для каждого поля.
К началу страницы
![]()
Сообщение от Pum-purum

У вас Access 2013?
2007
Так что в вашей базе я,к сожалению, вижу далеко не все объекты.
Вопрос: что заставило вас в таблице Объекты сделать ключевым текстовое поле? Не хотите добавить поле счетчика (код или ID) и сделать ключевым именно его, в остальных таблицах также поменять тип поля, а в вашей форме поле выбора сделать состоящим из двух столбцов, 1-е содержит код, другое — то, что сейчас в ключевом поле; поле кода скрыто.
У меня просто есть версия, что текстовое поле может быть не совсем тем, чего ждет Access в условии Поле=Значение. Текст сравнивается Поле=»Значение»
Или если по какой-то причине вам ну прямо необходимо иметь текстовый ключ — перейдите в режим конструктора отчета и поправьте условие WHERE на
| SQL | ||
|
Добавлено через 9 минут
А не. Нашла, в чем проблема. При проверке значения поля оказывается, что оно не содержит значение.
А не содержит оно его потому, что у вас свободная форма с единственным элементом управления. После того, как вы выбрали элемент в списке, форме некуда переместить фокус ввода и некуда сохранить выбранное значение. Форма считает, что вы продолжаете редактировать поле и значения в нем еще нет.
You can attempt to open a recordset based on the query before you run the query:
Set rs = CurrentDb.QueryDefs("query1").OpenRecordset
This will go straight to the error coding if anything is wrong with the query.
Alternatively, if it is always the language field and always in the same table, you can:
sSQL = "select language from table1 where 1=2"
CurrentDb.OpenRecordset sSQL
This will also fail and go to your error coding, but if it does not fail, you will have a much smaller recordset, one with zero records.
You can easily enough get a list of fields in a table with ADO Schemas:
Dim cn As Object ''ADODB.Connection
Dim i As Integer, msg As String
Set cn = CurrentProject.Connection
Set rs = cn.OpenSchema(adSchemaColumns, Array(Null, Null, "Scrubbed"))
While Not rs.EOF
i = i + 1
msg = msg & rs!COLUMN_NAME & vbCrLf
rs.MoveNext
Wend
msg = "Fields: " & i & vbCrLf & msg
MsgBox msg
More info: http://support.microsoft.com/kb/186246
You can attempt to open a recordset based on the query before you run the query:
Set rs = CurrentDb.QueryDefs("query1").OpenRecordset
This will go straight to the error coding if anything is wrong with the query.
Alternatively, if it is always the language field and always in the same table, you can:
sSQL = "select language from table1 where 1=2"
CurrentDb.OpenRecordset sSQL
This will also fail and go to your error coding, but if it does not fail, you will have a much smaller recordset, one with zero records.
You can easily enough get a list of fields in a table with ADO Schemas:
Dim cn As Object ''ADODB.Connection
Dim i As Integer, msg As String
Set cn = CurrentProject.Connection
Set rs = cn.OpenSchema(adSchemaColumns, Array(Null, Null, "Scrubbed"))
While Not rs.EOF
i = i + 1
msg = msg & rs!COLUMN_NAME & vbCrLf
rs.MoveNext
Wend
msg = "Fields: " & i & vbCrLf & msg
MsgBox msg
More info: http://support.microsoft.com/kb/186246
У меня есть следующий запрос в Access:
SELECT Death.AccountNumber, Count(*) AS NumberOfRecords
FROM Death
GROUP BY Death.AccountNumber
HAVING (((Count(*))>1));
Поле AccountNumber ранее было [Acc Number], но оно было обновлено как в исходной электронной таблице Excel, с которой связана таблица Access, так и в коде SQL в запросе.
Тем не менее, каждый раз, когда я запускаю запрос, Access по-прежнему предлагает мне «Введите значение параметра» с описанием: «Смерть: повторяющиеся номера счетов».Номер счета «.
Как мне получить доступ, чтобы перестать отображать это приглашение?
В вашем запросе нет ничего о «смерти: повторяющиеся номера счетов».Acc Number «, поэтому в другом месте должен быть какой-то код, ищущий этот параметр. Пока это в коде где-то, вы получите приглашение.
ПРИМЕЧАНИЕ. Сделайте копию, прежде чем делать следующее.
Вот способ найти код румян:
- Откройте окно VBA (Alt+F11).
- Затем используйте Ctrl+H, чтобы открыть окно замены .
- Введите
Acc Numberв окне «найти что». - Введите
AccountNumberв окне «заменить на». - Выберите
Current Project - Используйте кнопку «Найти далее», чтобы найти пропущенные ссылки.
- Если вы обнаружите, что ссылка нуждается в изменении, нажмите «заменить».
- После изменения всех найденных ссылок отладьте код, запустите его, чтобы увидеть, работает ли он так, как вы хотите.

У меня была такая же проблема в локальной таблице, где Access не находил имя поля в другом запросе и продолжал запрашивать значение параметра.
Я обнаружил, что я не сохранил запросы после переименования имен полей, и как только я их сохранил, все заработало, как и ожидалось.
I’ve done something to my Access database, and now when I double-click a table (all Access Objects | Tables) it puts up the «Enter Parameter Value» dialog. The parameter that it is asking for is of the form TableName.ColumnName, and ColumnName is indeed a column in TableName, but TableName is NOT the table I am opening. As it is a table I am opening, not a query or report etc., I have no idea what is causing this or what to do about it. If I just hot OK it seems to then open the table fine, but I’d like to fix it if I can.
HansUp
95.3k11 gold badges74 silver badges135 bronze badges
asked Apr 14, 2016 at 13:49
4
Open the table in Design View and then open its property sheet. Make sure you examine the table’s property sheet (it should say «Selection type: Table Properties» just below the «Property Sheet» heading).
Look for [TableName].[ColumnName] in one of those properties.
I was thinking of the Filter and Order By properties; you confirmed it was in the Order By.
That can happen when you apply a sort option from the ribbon and then save that sort with the table’s design.
answered Apr 14, 2016 at 17:26
HansUpHansUp
95.3k11 gold badges74 silver badges135 bronze badges
I just ran into this same problem. The parameter mine was asking for what not even one of my field names. I finally figured out that I must have hit the space key in an empty field when I was adding some new fields to the table. I deleted about 10 empty fields to make sure I got all the mistakes and it cleared up my problem. I hope this helps!
answered Oct 11, 2018 at 17:11
I’ve done something to my Access database, and now when I double-click a table (all Access Objects | Tables) it puts up the «Enter Parameter Value» dialog. The parameter that it is asking for is of the form TableName.ColumnName, and ColumnName is indeed a column in TableName, but TableName is NOT the table I am opening. As it is a table I am opening, not a query or report etc., I have no idea what is causing this or what to do about it. If I just hot OK it seems to then open the table fine, but I’d like to fix it if I can.
HansUp
95.3k11 gold badges74 silver badges135 bronze badges
asked Apr 14, 2016 at 13:49
4
Open the table in Design View and then open its property sheet. Make sure you examine the table’s property sheet (it should say «Selection type: Table Properties» just below the «Property Sheet» heading).
Look for [TableName].[ColumnName] in one of those properties.
I was thinking of the Filter and Order By properties; you confirmed it was in the Order By.
That can happen when you apply a sort option from the ribbon and then save that sort with the table’s design.
answered Apr 14, 2016 at 17:26
HansUpHansUp
95.3k11 gold badges74 silver badges135 bronze badges
I just ran into this same problem. The parameter mine was asking for what not even one of my field names. I finally figured out that I must have hit the space key in an empty field when I was adding some new fields to the table. I deleted about 10 empty fields to make sure I got all the mistakes and it cleared up my problem. I hope this helps!
answered Oct 11, 2018 at 17:11