查询是指向您的数据提出问题。在Microsoft Access中,查询(query)可以从一个或多个表中检索记录、合并相关信息、筛选和排序结果,或执行计算。某些查询还会更改数据,因此操作查询需要格外谨慎。
选择查询创建方法
Access 提供了两种创建查询的主要方式:
查询向导(Query Wizard):通过选择表和字段,帮助您创建基本查询。
查询设计(Query Design):打开一个空白的设计窗口,让您可以更好地控制字段、条件、排序、连接和计算。
查询向导(Query Wizard)包含以下几个选项:
简易查询向导(Simple Query Wizard):根据您选择的字段创建查询。
交叉表查询向导(Cross Tab Query Wizard):创建一个交叉表查询,以类似电子表格的格式显示数据。
查找重复项查询向导(Find Duplicate Query Wizard):查找具有重复字段值的记录。
查找不匹配的查询向导(Find Unmatched Query Wizard):在一个表中查找在另一个表中没有相关记录的记录。
已保存的表必须包含您想要使用的字段。如果数据存储在多个表中,请先定义这些表之间的关系。关系连接匹配的字段,例如客户表中的客户 ID 和订单表中的客户 ID。
使用向导创建查询
当您需要从一个表中获取简单的字段列表或字段的基本组合时,向导非常有用。
打开数据库,点击“创建”(Create)选项卡。
在“查询”组中,单击“查询向导”(Query Wizard)。
选择“简单查询向导”(Simple Query Wizard),然后单击“确定”(OK)。
选择要包含的表格和字段。
点击“下一步”(Next)。
选择是打开查询以查看其信息还是修改查询设计。
点击完成(Finish)。
如果需要添加条件、排序、连接或计算字段,您可以稍后在设计视图(Design View)中打开生成的查询。
在查询设计中创建查询
查询设计(Query Design)让您拥有最大的控制权,并且适用于大多数查询任务。
打开数据库,点击“创建”(Create)选项卡。
单击“查询设计”(Query Design)。此时将显示“显示表”(Show Table)对话框。
使用“表格”(Tables)、“查询”(Queries)、“链接”(Links)或“全部(All)”类别查找所需对象。
选择表或查询,单击“添加所选表”(Add Selected Table)或双击该对象,然后关闭对话框。
双击或从表格列表中拖动,将所需字段添加到设计网格中。
当您使用多个表时,请确保这些表通过正确的关联关系或连接线连接。错误或缺失的连接可能会导致记录被删除或创建重复行。
使用设计网格
查询设计窗口的下半部分包含设计网格(Design Grid)。其主要行包括字段(Field)、表(Table)、排序(Sort)、条件(Criteria)和“或”。
字段(Field):选择要在查询中显示或使用的字段。
表格(Table):显示提供该字段的表格或查询。
排序(Sort):按升序或降序排列结果。
条件(Criteria):限制结果中显示的记录。
或者(Or):添加一个替代条件。
例如,要查找拥有会计或工商管理学位的学生,请在“学位”字段下的“条件”(Criteria)行中输入“会计”(Accounts) 。在同一字段下的“或”行中输入(Or)“工商管理” 。(Business Administration)
筛选、排序和计算结果
在相关字段下的“条件”(Criteria)行中输入条件。例如,在“州/省”字段中输入“=“CA”将返回州/省为 CA 的记录。
常用条件运算符包括:
=用于精确匹配
比较符号使用<、>、<=和>=。
范围之间(Between),例如2024 年 1 月 1 日至 2024 年 3 月 31 日之间(Between 1/1/2024 And 3/31/2024)
就像(Like)使用通配符进行部分文本匹配一样,例如“A*”(Like “A*”)
并且(And)和或(Or)组合条件
使用排序(Sort)行可以定义每次查询运行时的固定顺序。您也可以在数据表视图中对记录进行排序,但查询设计中定义的排序会包含在已保存的查询中。
要创建计算字段,请向网格中添加新列并输入表达式。例如:
LineTotal: [Quantity] * [UnitPrice]
计算字段可能会导致某些查询结果变为只读,因为计算值无法直接映射到一个表中的某个字段。
单击“运行”(Run)查看结果。然后单击“保存”(Save),输入一个清晰的名称,然后单击“确定”(OK)。Access 会将查询保存为一个单独的数据库对象。选择查询读取数据,但不会更改原始表。
保存、运行和重用查询
查询是可重用的对象。已保存的查询会显示在导航窗格(Navigation Pane)中,与表格、窗体和报表一起显示。
保存查询
在设计视图中打开查询,或在数据表视图中运行查询。
点击快速访问工具栏上的“保存” 。(Save)
请输入一个能够描述查询目的的名称。
确认保存。
运行已保存的查询
双击导航窗格中的查询,即可在数据表视图中打开它。
右键单击查询并选择“打开”(Open)。
当您需要更改查询的字段、条件、排序或连接时,请在设计视图(Design View)中打开查询。
如果多个查询使用相同的筛选条件、排序方式或计算字段,请在设计视图中打开已保存的查询,进行调整,然后另存为新名称。这样可以减少重复工作。
修改或删除查询
您可以修改已保存的查询,而无需重新创建。
在导航窗格中,右键单击查询并选择“设计视图”(Design View)。
调整字段、条件、连接或排序方式。
要删除字段,请单击网格中的列标题,然后按Delete 键。
要添加字段,请在表格列表中双击该字段或将其拖入网格中。
点击“运行”(Run)以测试更改。
点击保存(Save)。
要删除查询,请在导航窗格(Navigation Pane)中找到它,右键单击它,然后选择“删除”(Delete)。查询对象将从数据库中移除。
必要时使用 SQL 视图。
Access 会将每个查询以 SQL 语句和可视化设计两种形式存储。要查看或编辑 SQL 语句,请在“设计视图”中打开查询,单击“视图”(View),然后选择“SQL 视图”(SQL View)。对于日常任务,可视化设计通常更易于阅读;而当您需要直接操作查询语句时,“SQL 视图”则非常有用。
了解查询类型和编辑限制
选择查询
大多数 Access 查询都是选择查询。它们从一个或多个表中检索数据,并将结果显示在数据表中。您可以使用它们来查看、筛选、排序和汇总记录。
操作查询
操作查询会更改表中的数据。常见类型包括更新值、删除记录、向表中添加记录或根据查询结果创建新表的查询。
操作查询可能会同时影响多条记录。运行操作查询前,请尽可能创建备份,并先运行一个包含相同条件的选择查询来预览受影响的记录。确认操作类型是否正确:删除(Delete)、更新(Update)、追加(Append)或创建表(Make Table)。确认操作前,请仔细阅读所有警告信息。
操作完成后,打开受影响的表或运行选择查询来验证结果。如果结果不正确,请使用备份或之前的副本,而不是尝试手动撤销较大的更改。
并非所有查询结果都可以直接编辑。聚合字段、某些计算字段以及特定的连接配置可能会使单元格变为只读。如果需要更改数据,请打开底层表或使用专为此目的设计的操作查询。
检查意外结果
结果为空或不正确并不总是意味着 Access 存在问题。请检查查询设计和源数据。
确认查询使用了正确的表或已保存的查询。
检查设计网格中是否包含了所有必填字段。
检查表之间的连接线。缺失或错误的连接可能会导致遗漏记录或创建额外的行。
验证条件值、日期、数据类型和比较运算符。
检查是否存在多余的空格和包含空(Null)值的字段。空值表示该字段中未存储任何数据,某些比较操作默认情况下会跳过空值。
检查一下是否启用了分组或聚合功能,而您预期看到的是一个简单的列表。
如果查询是只读的,请检查计算字段、聚合或连接模式是否阻止了编辑。
结果为空可能意味着筛选条件过于严格、连接操作移除了匹配的记录,或者源表中不包含匹配的数据。重复值可能是由于缺少连接操作、字段选择错误或源数据中存在重复行造成的。
分小步进行测试
只添加您需要的字段。
一次只设定一个标准。
运行查询并查看几行数据。
调整条件或排序方式,然后再次运行查询。
如果涉及多个表,请先测试一个表,然后再添加下一个表和条件。
结果确认无误后,保存查询。
这种方法更容易找出导致意外结果的更改。在进行大范围更改之前,请先保存一份可以正常运行的查询语句副本。
长期维护查询
数据库结构可能会发生变化。字段名称、数据类型、关系和必填值都会影响查询行为。
使用能够描述每个查询功能的名称。
记住每个查询所依赖的表结构和字段名称。
对表进行重大更改后,请审查查询。
删除未使用的查询,或者如果必须保留以供参考,则重命名并记录它们。
如果查询不再产生预期结果,请在没有明确理由的情况下更改查询之前,将其设计与当前表结构进行比较。