为什么 Access 让我输入参数值?

应用对象
Microsoft 365 专属 Access Access 2024 Access 2021 Access 2019 Access 2016

有时,打开 Access 对象 (如表、查询、窗体或报表) 时,Access 会显示“ 输入参数值” 对话框。 当打开包含 Access 无法解释的标识符或表达式的对象时,Access 将显示此对话框。

在某些情况下,这就是您想要的行为。 例如,数据库创建者可能创建了一个查询,允许你在每次查询运行时输入信息,例如开始日期或员工 ID 号码。 此类提示可能类似于以下内容:

显示 Access 中预期的“输入参数值”对话框的示例,其中包含标记为“输入员工 ID”的标识符、要在其中输入值的字段以及“确定”和“取消”按钮。

但是,在其他情况下,不希望显示此对话框。 例如,您可能对数据库的设计进行了一些更改。 现在,打开对象时,Access 会意外地显示对话框并显示一条你不明白的消息。

显示 Access 中意外的“输入参数值”对话框的示例,其中包含标记为 SomeIdentifier 的标识符、要在其中输入值的字段以及“确定”和“取消”按钮。

本文提供了调查 Access 为何请求参数值以及如何停止请求的过程。

停止对参数值的请求

若要停止显示“ 输入参数值 ”对话框,请检查与要使用的对象关联的任何表达式,并找到导致出现对话框的标识符。 然后,更正标识符或包含标识符的表达式的语法。

在此帮助文章底部查找有关表达式语法的详细信息的链接。

当出现不需要的 “输入参数值 ”对话框时,请记下对话框中列出的标识符或表达式。 例如,“SomeIdentifier”,如以下屏幕截图所示。

显示意外的“输入参数值”对话框示例,其中红色箭头指向标识符标签 SomeIdentifier、要在其中输入值的字段以及“确定”和“取消”按钮。

然后,选择“ 取消 ”并继续执行以下过程之一,具体取决于出现对话框时打开的对象类型。 这些过程为检查不同类型对象中的表达式提供了一般准则。 但是,您必须进行的具体更改取决于数据库的结构。

检查查询中的表达式

查询中的拼写错误是出现不需要的参数提示的常见原因。 如前所述,如果查询设计为在运行时要求参数值,则按设计显示“ 输入参数值” 对话框。 但是,如果确定查询不应要求参数值,请使用此过程检查查询中是否存在不正确的表达式。

  1. 在导航窗格中右键单击查询,然后单击“设计视图”
  2. 检查 “字段 ”行和“ 条件 ”行中的标识符和表达式,并确定是否有任何文本与“ 输入参数值” 对话框中显示的文本匹配。 具体而言,如果“ 字段 ”行中的某个单元格包含值( 例如 Expr1: [SomeIdentifier]),则这可能是参数提示符的来源。
    包含导致显示“输入参数值”对话框的表达式的查询

在本帮助文章底部查找有关如何创建参数查询的更多信息的链接。

返回页首

检查报表中的表达式

如果打开报表时出现“ 输入参数值” 对话框,请按照以下步骤检查报表的属性:

  1. 在导航窗格中右键单击报表,然后单击“ 设计视图”。

    注意

    在继续之前,请确定报表上是否有任何控件在其左上角显示绿色三角形。 三角形表示 Access 无法计算该控件的“ 控件来源 ”属性中的标识符或表达式。 如果任何控件显示绿色三角形,请在继续执行这些步骤时特别注意这些控件。

    报表包含的文本框中有拼写错误的标识符

  2. 如果未显示 “属性表 ”任务窗格,请按 F4 显示该任务窗格。

  3. “属性表 ”任务窗格中,选择“ 全部 ”选项卡。

  4. 选择一个在报表 (上显示数据的控件,如文本框、检查框或组合框) 。 如果任何控件显示步骤 1 中提到的绿色三角形,请首先单击其中一个控件。

  5. “属性表”任务窗格中,检查“输入参数值”对话框中显示的标识符的“控件源”属性,然后根据需要修改表达式。

  6. 对报表上的其他控件重复步骤 4 和步骤 5,直到找到导致问题的表达式。

  7. 如果仍找不到问题,请在“分组”、“排序和汇总”窗格中检查是否有任何不正确的表达式:

    • 如果未显示“ 分组、排序和汇总 ”窗格,请在 “报表布局设计 ”选项卡的“分 组 & 汇总 ”组中,选择“ 分组”&“排序”。
    • 如果“分组、 排序和汇总 ”窗格中的某行上显示“按表达式分组”或“按表达式排序”,请选择单词“表达式”以打开表达式生成器,可在其中检查表达式并在必要时对其进行修改。

返回页首

检查窗体基础查询中的表达式

如果每次打开窗体时都出现“ 输入参数值 ”对话框,则基础查询中可能存在不正确的表达式。 检查基础查询以查找不正确的表达式。

  1. 右键单击导航窗格中的窗体,然后选择“ 设计视图”。

  2. 如果未显示 “属性表 ”任务窗格,请按 F4 显示该任务窗格。

  3. 确保在“属性表”任务窗格顶部的列表中选择“窗体”,然后选择“全部”选项卡。

  4. 检查“ 记录源 ”属性。 如果它包含查询名称或 SQL 语句,则语句中的某个标识符可能不正确,从而导致出现“ 输入参数值” 对话框。 选择“ 记录源 ”属性框,然后单击“ 生成 ”按钮 “生成器”按钮

  5. 使用 检查查询中的表达式 部分中的过程查找不正确的表达式。

    重要

    若要在完成后保存对查询所做的更改,请关闭查询,然后在切换回窗体视图之前保存窗体。 否则,对查询所做的任何更改都将丢失。

返回页首

检查窗体上组合框或列表框中的表达式

组合框或列表框控件的“ 行源 ”属性中的表达式不正确会导致出现“ 输入参数值” 对话框。 在某些情况下,直到尝试使用控件后,该对话框才会显示。 使用以下过程检查控件的 Row Source 属性:

  1. 右键单击导航窗格中的窗体,然后选择“ 设计视图”。
  2. 单击要检查的组合框或列表框。
  3. 如果未显示 “属性表 ”任务窗格,请按 F4 显示该任务窗格。
  4. 选择“ 数据 ”选项卡,然后检查“ 行源 ”属性,并确定是否有任何文本与“ 输入参数值 ”对话框中的文本匹配。

返回页首

检查表中的表达式

如果每次打开表时 Access 都会显示“ 输入参数值” 对话框,则不正确的表达式很可能位于该表中查找字段的“ 行源 ”属性中。

  1. 右键单击导航窗格中的表,然后选择“ 设计视图”。
  2. 若要确定字段是否为查阅字段,请选择字段名称,然后在 “字段属性”下选择“ 查阅 ”选项卡。如果选项卡包含 “行源 ”属性框,则该字段是查阅字段。 检查 “行源 ”属性。 如果它包含 SQL 语句,则语句中的某个标识符可能不正确,从而导致出现“ 输入参数值” 对话框。

注意

表可以有多个查阅字段,因此请务必检查每个字段的查阅选项卡。

返回页首

另请参阅

表达式语法指南

将函数添加到 Access 表达式

运行查询时使用参数要求用户输入