若要使 Access 数据库中的查询在运行时请求条件,请创建参数查询。 这样,你就可以反复使用相同的查询,而不必一直在设计视图中连续打开它来编辑条件。
了解术语
进入下面的分步过程之前,理解这些术语很有用:
-
参数 参数是在运行查询时提供给查询的一段信息。 参数可以自行使用,也可以用作较大表达式的一部分,以在查询中形成条件。 可以将参数添加到以下任意类型的查询:
-
选择
-
交叉表查询
-
追加
-
生成表查询
-
更新
-
-
条件 条件是您添加到查询中的“过滤器”,以在您运行查询时指定返回的项目。
有关上面提到的查询类型的详细信息,请参阅查询简介。
创建参数查询
创建参数类似于向查询添加“普通”条件:
-
创建一个选择查询,然后在“设计”视图中打开该查询。
-
在要将参数应用到其中的字段的“条件”行中,输入要在参数框中显示的文本,括在方括号中。 例如,[Enter the start date:]
-
对要将参数添加到其中的每个字段重复步骤 2。
运行查询时,显示不带方括号的提示。
填写您要查找的值,然后单击“确定”。
您可以在条件中使用多个参数。 例如,运行查询时,Between [Enter the start date:] And [Enter the end date:] 将生成两个提示。
指定参数数据类型
您可以设置参数以便只接受某一类型的数据。 它在指定数字、货币或日期/时间数据的数据类型时非常有用,因为如果他们输入错误的数据类型,那么然后人们将看到更有用的错误消息,如需要货币值时输入文本。
注意: 如果将参数配置为接受文本数据,则输入的任何内容都将被解释为文本,并且不会显示任何错误消息。
若要指定查询中参数的数据类型:
-
在“设计”视图中打开查询后,在“ 查询设计 ”选项卡上的“ 显示/隐藏 ”组中,单击“ 参数”。
-
在“查询参数”框中的“参数”列中,输入您要为其指定数据类型的每个参数的提示。 请确保每个参数都与您在查询设计网格的“条件”行中使用的提示信息相匹配。
-
在“数据类型”列中,选择每个参数的数据类型。
将参数添加到联合查询
由于在查询设计网格中无法查看“联合查询”,您需要执行略有不同的操作:
-
在 SQL 视图中打开联合查询。
-
添加一个 WHERE 子句,其中包含要将参数添加到其中的字段。
如果已经存在一个 WHERE 子句,请检查要将参数添加到其中的字段是否已经存在。 如果这些字段未存在,则请添加它们。
-
将参数提示键入 WHERE 子句,例如,WHERE [StartDate] = [Enter the start date:]
请注意,您需要将同一筛选器添加到查询中的每个部分。 在以上图片中,查询有两部分(由 UNION 关键字分隔开),因此该参数需要添加两次。 但是在运行查询时,提示只出现一次(假定您在每个部分拼写的提示都完全相同)。
有关联合查询的详细信息,请参阅 使用联合查询将多个查询合并为单个结果。
将参数与通配符组合在一起,以获取更大的灵活性
与普通条件一样,您可以将参数与 Like 关键字和通配符组合在一起以匹配更广泛的项目。 例如,您可能希望查询提示您输入原产国/地区,但是要与包含参数字符串的任意值相匹配。 若要执行此操作:
-
创建一个选择查询,然后在“设计”视图中打开该查询。
-
在要将参数添加到其中的字段的“条件”行中,键入 Like "*"&[,要用作提示的文本,然后 ]&"*"。
运行参数查询时,提示将出现在对话框中,没有方括号,也没有 Like 关键字 (keyword) 或通配符:
在您输入参数之后,查询将返回包含参数字符串的值。 例如,参数字符串 us 返回参数字段值为 Australia 的项目和值为 USA 的项目。
有关通配符的详细信息,请参阅 通配符示例。
返回与参数不匹配的项目
而不是让查询返回与参数匹配的项目,您可能希望查询返回与参数不匹配的项目。 例如,您可能希望查询提示一个年份并返回年份值大于您所输入年份的项目。 为此,请在用来将参数提示括起来的第一个方括号的左侧键入一个比较运算符,例如,>[Enter a year:]。
视频:在查询中使用参数
在查询中使用参数与创建使用条件的查询一样简单。 可以设计查询来提示一条信息(例如一个部件号)或多条信息(例如两个日期)。 对于每个参数,参数查询显示一个单独的对话框,提示输入该参数的值。
若要了解在查询中创建参数的详细信息,请观看此视频。