85、Access数据库维护与查询教程

Access数据库维护与查询教程

1. 快速检查问题

在数据工作表视图中,我们会遇到一些基础但重要的问题,以下是相关问题及简要说明:
1. 导航模式与编辑模式的区别 :在数据工作表视图里,导航模式主要用于在记录间移动查看数据,而编辑模式则允许对数据进行修改。
2. 移除字段显示的命令 :在数据工作表视图,可使用特定命令移除一个或多个字段的显示。
3. 选择查询的定义 :选择查询是一种从数据库中提取特定数据的查询方式。
4. 查询窗口中的字段列表和设计网格 :在设计视图的查询窗口中,字段列表显示了可用于查询的所有字段,设计网格则用于设置查询的条件和规则。
5. 表数据表与查询数据表的异同 :相同点在于都以表格形式呈现数据;不同点在于表数据表直接展示数据库表中的数据,而查询数据表是根据查询条件筛选后的数据。
6. 日期/时间字段升序排序 :日期/时间字段按升序排序时,记录会按照日期从早到晚排列。
7. 多排序字段的位置 :在设计视图中定义多个排序字段时,排序字段在设计网格中的位置有一定要求,通常按照排序优先级从上到下排列。
8. 筛选的定义 :筛选是对打开的数据表或窗体中的记录设置限制条件,以临时隔离出一部分记录。

2. 查询中的选择条件

2.1 条件的定义与作用

要告诉Access选择哪些记录,需在查询中指定条件。条件是一个准则或规则,决定了哪些记录会被选中。通常,条件由运算符(常为比较运算符)和值组成。比较运算符让Access将字段中的值与条件值进行比较,选中条件为真的所有记录。例如“Between…And…”这类比较运算符,会让Access选择符合一定范围值的记录。

2.2 选择条件示例

以下是不同条件下查询结果的示例:
| 查询条件 | 示例说明 |
| ---- | ---- |
| VisitDate介于12/1/2015和12/31/2015之间 | 结果仅显示2015年12月的患者就诊记录 |
| InvoiceAmt大于$250 | 结果仅显示发票金额大于$250的记录 |
| City字段值为“Bloomfield” | 结果仅显示来自Bloomfield的患者记录,这种条件属于精确匹配 |

2.3 Access比较运算符

Access提供了多种比较运算符,具体如下:
| 运算符 | 含义 | 示例 |
| ---- | ---- | ---- |
| = | 等于(可选,默认运算符) | =”Hall” |
| <> | 不等于 | <>”Hall” |
| < | 小于 | <#1/1/99# |
| <= | 小于或等于 | <=100 |
| > | 大于 | >”C400” |
| >= | 大于或等于 | >=18.75 |
| Between … And … | 在两个值之间(包含边界) | Between 50 And 325 |
| In () | 在一个值列表中 | In (“Hall”, “Seeger”) |
| Like | 匹配包含通配符的模式 | Like “706*” |

3. 定义记录选择条件的查询

3.1 需求背景

Cindi想展示所有居住在Bloomfield的患者及其就诊信息,因为她考虑在Bloomfield举办一场以高血压为重点的健康博览会。为满足此需求,可创建一个查询,选择正确的字段和患者及就诊表中的所有记录,然后在查询数据表中选择City字段值为Bloomfield的记录,再通过选择按钮和合适的筛选选项来显示所需信息。但更快捷的方法是创建一个仅显示满足条件记录的查询。

3.2 创建精确匹配查询的步骤

以下是在设计视图中创建查询的详细步骤:
1. 确保Chatham数据库已打开且导航窗格关闭(若上一阶段有休息)。
2. 点击功能区的“CREATE”选项卡。
3. 在“Queries”组中,点击“Query Design”按钮,此时会打开“Show Table”对话框,需将“Patient”和“Visit”表添加到查询窗口。
4. 在表列表中点击“Patient”,再点击“Add”按钮,接着点击“Visit”并点击“Add”按钮,最后点击“Close”按钮。
5. 使用指针调整两个字段列表的大小,使所有字段都能显示且垂直滚动条消失。
6. 按顺序将“Patient”表中的“LastName”、“FirstName”、“Phone”、“Address”、“City”和“Email”字段添加到设计网格。
7. 按顺序将“Visit”表中的“VisitID”、“VisitDate”和“Reason”字段添加到设计网格。

3.3 输入条件并运行查询

输入精确匹配条件并保存运行查询的步骤如下:
1. 点击“City”字段的“Criteria”框,输入“Bloomfield”并按回车键,Access会自动将条件用引号括起来。需注意,使用文本值作为选择条件时,必须用引号括起来,若省略引号,多数情况下Access会自动添加,但对于“in”和“select”等特殊关键字,必须手动添加引号,否则会显示错误信息。
2. 点击快速访问工具栏上的“Save”按钮,打开“Save As”对话框。
3. 在“Query Name”框中输入“BloomfieldPatients”并按回车键,Access会保存查询并在对象选项卡上显示名称。
4. 在“DESIGN”选项卡的“Results”组中,点击“Run”按钮,Access会运行查询并显示City字段值为Bloomfield的记录,共显示14条记录。

4. 修改查询

4.1 移除字段显示

Cindi认为查询结果中无需显示City字段的值,因为查询名称“BloomfieldPatients”已表明查询设计包含居住在Bloomfield的所有患者。移除City字段值显示的步骤如下:
1. 在“HOME”选项卡的“Views”组中,点击“View”按钮,将“BloomfieldPatients”查询以设计视图打开。
2. 点击“City”字段的“Show”复选框,去除勾选,这样查询仍会筛选出City字段值为Bloomfield的记录,但结果中不会显示这些字段值。

4.2 更改字段顺序

Cindi还希望查询数据表先显示“Visit”表的字段,再显示“Patient”表的字段。更改字段顺序的步骤如下:
1. 将指针移到“VisitID”字段选择器上,指针变为特定形状后点击选择该字段。
2. 点击并按住鼠标按钮,指针会变化且在所选字段左侧出现黑色竖线,此竖线代表拖动时所选字段的位置。
3. 向左拖动,直到代表所选字段的竖线位于“LastName”字段左侧。
4. 释放鼠标按钮,“VisitID”字段会移到“LastName”字段左侧。
5. 若要同时选择和移动多个字段,可点击并拖动鼠标覆盖要选择的字段选择器。例如,点击并按住“VisitDate”字段选择器,向右拖动选择“Reason”字段,然后释放鼠标按钮,两个字段即被选中。
6. 将指针移到两个所选字段顶部附近,点击并向左拖动,直到代表所选字段的竖线位于“LastName”字段左侧。
7. 释放鼠标按钮,“Visit”表的三个字段会成为查询设计中的前三个字段。
8. 在“DESIGN”选项卡的“Results”组中,点击“Run”按钮,Access会显示修改后查询的结果。
9. 保存并关闭“BloomfieldPatients”查询。

5. 使用比较运算符匹配值范围

5.1 创建新查询

查看查询结果后,Cindi希望查看相同字段,但仅针对VisitDate字段值在2016年1月1日之前的记录,以便跟进未近期就诊的患者。由于要创建的查询设计与“BloomfieldPatients”查询相似,可通过复制、粘贴和重命名该查询来创建新查询,具体步骤如下:
1. 打开导航窗格,“BloomfieldPatients”查询列在“Queries”部分。
2. 在导航窗格的“Queries”部分,右键点击“BloomfieldPatients”选择它并显示快捷菜单,点击“Copy”。
3. 右键点击导航窗格底部附近的空白区域,点击“Paste”,打开“Paste As”对话框,默认显示“Copy Of BloomfieldPatients”,将新查询命名为“EarlierVisits”。
4. 在“Query Name”框中输入“EarlierVisits”并按回车键,新查询会出现在导航窗格的“Queries”部分。
5. 双击“EarlierVisits”查询以打开或运行,此时该查询的设计与原“BloomfieldPatients”查询相同。
6. 关闭导航窗格。

5.2 修改新查询设计

修改新查询设计以显示VisitDate字段值早于2016年1月1日记录的步骤如下:
1. 在“HOME”选项卡的“Views”组中,点击“View”按钮,以设计视图显示查询。
2. 点击“VisitDate”字段的“Criteria”框,输入“<1/1/2016”并按Tab键,Access会自动用数字符号括起日期条件。
3. 按Tab键六次,直到“City”字段的条件被高亮显示,然后按Delete键删除该条件。
4. 点击“City”字段的“Show”复选框,添加勾选,使该字段值显示在查询结果中。
5. 使用指针选择“City”字段,向左拖动到“Email”字段左侧,然后点击空白框取消选择“City”字段。
6. 在“DESIGN”选项卡的“Results”组中,点击“Run”按钮,Access会运行查询并显示VisitDate字段值小于2016年1月1日的记录,共显示18条记录。

综上所述,通过以上步骤,我们可以在Access中创建、修改查询,利用选择条件和比较运算符筛选出所需的数据,满足不同的业务需求。无论是精确匹配查询还是范围匹配查询,都能帮助我们更高效地从数据库中获取有价值的信息。

6. 总结与最佳实践

6.1 查询操作总结

在Access数据库中进行查询操作,主要包括创建查询、设置条件、修改查询等步骤。以下是对这些操作的总结:
| 操作类型 | 关键步骤 |
| ---- | ---- |
| 创建查询 | 打开数据库,进入创建选项卡,选择查询设计,添加相关表到查询窗口,按需添加字段到设计网格 |
| 设置条件 | 在设计网格的字段“Criteria”框中输入条件,使用比较运算符和值组合,注意文本值需用引号,特殊关键字手动加引号 |
| 修改查询 | 可移除字段显示(取消“Show”复选框勾选),更改字段顺序(拖动字段选择器) |

6.2 最佳实践建议

为了更高效地进行数据库查询,以下是一些最佳实践建议:
1. 合理设计查询 :在创建查询前,明确查询目的和所需数据,选择合适的表和字段,避免不必要的字段和复杂的条件。
2. 使用有意义的查询名称 :如“BloomfieldPatients”和“EarlierVisits”,便于识别和管理查询。
3. 备份重要查询 :在修改查询前,可先复制查询,以防修改错误导致数据丢失。
4. 及时更新条件 :当业务需求变化时,及时修改查询条件,确保查询结果的准确性。

6.3 操作流程总结

以下是一个mermaid格式的流程图,总结了从创建查询到修改查询的整体操作流程:

graph LR
    A[打开数据库] --> B[创建查询]
    B --> C[添加表和字段]
    C --> D[设置条件]
    D --> E[运行查询]
    E --> F{是否需要修改}
    F -- 是 --> G[修改查询(移除字段、调整顺序等)]
    G --> E
    F -- 否 --> H[保存查询]

7. 常见问题与解决方案

7.1 条件输入错误问题

在输入查询条件时,可能会遇到以下常见错误及解决方案:
| 问题描述 | 可能原因 | 解决方案 |
| ---- | ---- | ---- |
| 输入文本值未加引号 | 忘记规则或不了解特殊关键字 | 手动添加引号,对于特殊关键字如“in”“select”,必须加引号 |
| 日期条件格式错误 | 不熟悉日期格式要求 | 按照Access要求的格式输入,如日期用数字符号括起 <#日期#> |
| 条件逻辑错误 | 对比较运算符理解有误 | 参考比较运算符的含义,检查条件逻辑是否符合需求 |

7.2 查询结果不符合预期问题

当查询结果不符合预期时,可按以下步骤排查:
1. 检查条件设置 :确认“Criteria”框中的条件是否正确,运算符和值是否匹配。
2. 查看表关联 :确保添加到查询窗口的表之间关联正确,若关联错误可能导致数据缺失或重复。
3. 检查字段显示设置 :查看“Show”复选框是否勾选,避免因未勾选而导致字段值不显示。

7.3 性能问题

如果查询运行速度较慢,可考虑以下优化方法:
1. 优化查询条件 :避免使用过于复杂的条件,减少不必要的筛选。
2. 索引优化 :对经常用于查询条件的字段创建索引,提高查询速度。
3. 清理数据 :删除数据库中无用的数据,减少数据量。

8. 拓展应用

8.1 多条件查询

除了单一条件查询,还可以进行多条件查询。例如,要查询居住在Bloomfield且发票金额大于$250的患者信息,可在设计网格中分别为“City”和“InvoiceAmt”字段设置条件,如下:
| 字段 | Criteria |
| ---- | ---- |
| City | “Bloomfield” |
| InvoiceAmt | >250 |

8.2 动态查询

在实际应用中,可能需要根据用户输入动态生成查询条件。可以通过编写VBA代码实现这一功能。例如,根据用户输入的日期范围查询就诊记录:

' 示例代码,需在Access的VBA环境中使用
Dim startDate As Date
Dim endDate As Date
startDate = InputBox("请输入开始日期", "日期输入")
endDate = InputBox("请输入结束日期", "日期输入")
Dim querySQL As String
querySQL = "SELECT * FROM Visit WHERE VisitDate BETWEEN #" & startDate & "# AND #" & endDate & "#"
DoCmd.RunSQL querySQL

8.3 与其他软件集成

Access可以与Excel、Word等软件集成,将查询结果导出到这些软件中进行进一步分析和处理。例如,将查询结果导出到Excel:
1. 运行查询,显示查询结果。
2. 在“外部数据”选项卡中,选择“导出” - “Excel”。
3. 设置导出选项,如文件路径、文件名等,点击“确定”完成导出。

通过以上拓展应用,可以进一步发挥Access数据库的功能,满足更复杂的业务需求。无论是多条件查询、动态查询还是与其他软件集成,都能帮助我们更灵活地处理和分析数据。

内容概要:本文介绍了ENVI Deep Learning V1.0的操作教程,重点讲解了如何利用ENVI软件进行深度学习模型的训练应用,以实现遥感图像中特定目标(如集装箱)的自动提取。教程涵盖了从数据准备、标签图像创建、模型初始化训练,到执行分类及结果优化的完整流程,并介绍了精度评价通过ENVI Modeler实现一键化建模的方法。系统基于TensorFlow框架,采用ENVINet5(U-Net变体)架构,支持通过点、线、面ROI或分类图生成标签数据,适用于多/高光谱影像的单一类别特征提取。; 适合人群:具备遥感图像处理基础,熟悉ENVI软件操作,从事地理信息、测绘、环境监测等相关领域的技术人员或研究人员,尤其是希望将深度学习技术应用于遥感目标识别的初学者实践者。; 使用场景及目标:①在遥感影像中自动识别和提取特定地物目标(如车辆、建筑、道路、集装箱等);②掌握ENVI环境下深度学习模型的训练流程关键参数设置(如Patch Size、Epochs、Class Weight等);③通过模型调优结果反馈提升分类精度,实现高效自动化信息提取。; 阅读建议:建议结合实际遥感项目边学边练,重点关注标签数据制作、模型参数配置结果后处理环节,充分利用ENVI Modeler进行自动化建模参数优化,同时注意软硬件环境(特别是NVIDIA GPU)的配置要求以保障训练效率。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值