使用窗体指定查询的条件 |
您所在的位置:网站首页 › access数据库查询窗体 › 使用窗体指定查询的条件 |
如何在 Microsoft Access 中通过表单 (QBF) 技术使用查询
项目
03/18/2023
适用于:
Microsoft Office Access 2007
原始 KB 编号: 304428 注意 需要具备基本的宏、编码和互操作性技能。 本文仅适用于 Microsoft Access 数据库(.accdb 和 .mdb)。 摘要本文介绍如何使用表单指定查询的条件。 此技术通过表单 (QBF) 调用查询。 更多信息在 QBF 技术中,创建一个在其中输入查询条件的窗体。 此窗体包含空白文本框。 每个文本框表示要查询的表中的字段。 仅在要为其指定搜索条件的文本框中创建条目。 QBF 窗体类似于数据条目窗体,其中包含与表中的字段匹配的字段。 包含名称、地址、城市、州和邮政编码字段的表可以具有具有相应字段的 QBF 窗体。 若要选择某些记录,可以在窗体中输入搜索条件的任何组合。 可以仅指定一个城市、一个城市和一个州、一个邮政编码或任何其他组合。 将忽略留空的字段。 单击窗体上的命令按钮时,Access 将运行使用窗体中的搜索条件的查询。 若要使用 QBF 技术,请执行以下步骤: 打开示例数据库 Northwind.mdb。 创建不基于任何表或查询的新窗体,并将其另存为QBF_Form。 在新窗体上,创建两个文本框和一个具有以下属性的命令按钮。然后,保存窗体: Text box 1 ------------------ Name: WhatCustomer Text box 2 ------------------ Name: WhatEmployee Command button 1: ------------------ Caption: Search OnClick: QBF_Macro创建以下新宏,然后将其另存为QBF_Macro: Action: OpenQuery Query Name: QBF_Query View: Datasheet Data Mode: Edit创建基于 Orders 表的以下新查询,然后将其另存为QBF_Query: Field: CustomerID Sort: Ascending Criteria: Forms![QBF_Form]![WhatCustomer] Or Forms![QBF_Form]![WhatCustomer] Is Null Field: EmployeeID Sort: Ascending Criteria: Forms![QBF_Form]![WhatEmployee] Or Forms![QBF_Form]![WhatEmployee] Is Null NOTE: When you type the criteria, make sure that you type the entire criteria in a single Criteria field; do not split the criteria by placing the 'Or' section on a separate row. Field: OrderID Field: OrderDate在窗体视图中打开QBF_Form。 输入以下条件组合。 在每个组合之后单击“搜索”: Customer ID Employee ID Result ------------------------------------------------------- All 830 orders AROUT 13 orders AROUT 4 4 AROUT orders for employee 4 4 156 orders for employee 4查看每个查询的结果集后,关闭“数据表”窗口。 然后,开始下一次搜索。 每次单击 “搜索 ”按钮时,QBF 查询中的参数都会根据在 QBF 查询表单上指定的搜索条件筛选数据。 有关 QBF 参数条件的说明本文中的示例 QBF 查询将查询中的条件实现为 形式!FormName!ControlName或窗体!FormName!ControlName为 Null 筛选数据。 这些条件返回所有匹配的记录。 如果条件值为 null,则为指定字段返回所有记录。 可以指定以下任一替代条件以返回略有不同的结果。 注意 在以下示例条件中,下划线 (_) 用作行延续字符。 重新创建这些条件时,从行末尾删除下划线。 就像窗体一样!FormName!ControlName& “*” 或 _ Forms!FormName!ControlName为 Null 此 criteria 语句与上面的 QBF 示例相同,只不过可以使用通配符进行查询。 例如,如果使用此条件语句在字段中输入“Jo”,则查询将返回以“Jo”开头的字段中的每条记录。这包括约翰逊、琼斯、约翰娜等。 在窗体之间!FormName!StartDate 和 Forms!FormName!EndDate Or _ Forms!FormName!StartDate 为 Null 可以使用此条件语句在查询窗体上使用“开始日期”和“结束日期”文本框来查询日期字段。 返回其开始日期和结束日期介于查询窗体上指定的值之间的记录。 但是,如果省略窗体上的“开始日期”值,则查询将返回所有记录,而不考虑结束日期值。 就像窗体一样!FormName!ControlName& “*”或为 Null 此 criteria 语句返回与 null 条件和记录匹配的两个记录。 如果条件为 null,则返回所有记录。 请注意,星号 (*) 被视为参数,因为它是较大 Like 表达式的一部分。 由于星号是硬编码的条件值 (例如“*”) ,因此返回具有 null 值的记录。 就像 IIf (IsNull (窗体一样!FormName![ControlName]) , _ “*”,[Forms]![FormName]![ControlName]) 此 criteria 语句返回与条件匹配的所有记录。 如果查询窗体中未指定任何条件,则返回 所有不 为 null 的记录。 IIf (IsNull (窗体!FormName![ControlName]) , _ [FieldName],[Forms]![FormName]![ControlName]) 这会返回与条件匹配的所有记录。 如果查询窗体中未指定任何条件,则返回 所有不 为 null 的记录 (与上述示例中的结果相同) 。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |