文档库 最新最全的文档下载
当前位置:文档库 › 第5章输入

第5章输入

第5章输入
第5章输入

第5章输入、编辑和验证表中的数据

本章要点

? 在A c c e s s表中输入测试数据? 向Personnel Actions表添加记录

? 使用键盘操作来输入和编辑数据? 输入Personnel Actions表的数据和测

? 向表中添加记录试有效性规则

? 选择、追加、替换和删除表记录? 疑难解答

? 验证数据输入? 现实世界—批量数据输入

5.1 在Access表中输入测试数据

易于数据输入是高效数据库开发环境的一个主要准则。大多数A c c e s s数据库应用可能都会

使用窗体进行数据输入。可是,在许多情况下,在“表(数据表视图)”中输入数据比使用窗

体要快的多,尤其是在数据库开发周期中更是如此。例如,在交付用于窗体和报表的设计之

前,对你所提出的数据库结构进行测试是一个不错的主意。尽管A c c e s s 2 0 0 0的新增的名称自动

更正功能减少了一些命名上的差异,但是在创建了一组窗体和报表之后再改变表和字段名或者

变更表之间的关系,将会涉及到大量的工作。

为了测试数据库设计,常常需要输入测试数据。在这种情况下,使用“表(数据表视图)”

来输入数据比使用窗体显得更有意义。即使从其他类型的数据库或工作表中导入数据,也需要

对数据进行编辑,以便使它们能够和新的应用取得一致。本章的第一部分讨论的重点是数据输

入和编辑方法。

数据库开发环境的另一个重要的因素维持数据域完整性的能力。域完整性规则将你在字段

中输入的值限定在某个范围或者集合之中。

与Access 97类似,Access 2000也允许你在字段和表一级实施域完整性规则(常常称为商业

规则)。实施域完整性靠的是输入一个表达式作为字段和表有效性规则属性的值来实现的。本

章讲授如何使用简单的表达式实现域完整性有效性规则。在你掌握了Access 操作符和表达式

(第9章“理解查询操作符和表达式”的主题)之后,你便可以编写出复杂的有效性规则,从而

可以将表中出现错误数据的可能性减到最小了。

5.2 使用键盘操作进行数据输入和编辑数据

尽管A c c e s s是面向鼠标的,但是大部分操作都可以用键盘来完成。提供键盘命令的一个原

因是因为不停地从键盘到鼠标进行切换大约会降低输入速度的一半以上。在鼠标和键盘之间进

行交替还会导致或者加重重复性压力的伤害( R S I ),其中最为常见的类型便是腕骨隧道综合症

( C T S )。

在数据输入环境中键盘操作与他们在字处理应用中的重要程度是一样的。因此,关于数据

输入组合键的信息没有放在书的附录中,而将在这里详细指出。当你学到本章后面的“输入

Personnel Actions表数据和测试有效性规则”一节时,你就会发觉在以下几节中所学的数据输

入过程是相当有用的。

第5章输入、编辑和验证表中的数据111

5.2.1 创建Northwind.mdb的试验用复本

如果你想试验在后面几节中所描述的键盘操作,最好的做法便是复制一份N o r t h w i n d . m d b

数据库,然后在复制件上工作。如果使用复本,你便不需要担心所做的改变会影响到该示例数

据库。在练习中还为你提供了进行A c c e s s数据库压缩的机会,见第3章“A c c e s s导航”所述。提示如果你的硬盘空间较为紧张,那么打开一个新数据库并只复制N o r t h w i n d . m d b的C u s t o m e r s 和Orders表到你的新数据库即可,参见第4章“Access数据库和表”中所述。

将N o r t h w i n d . m d b压缩到一个新N o r t h w i n d . m d b复制中所需遵循的步骤如下:

1) 关闭所有打开的A c c e s s文档窗口,然后关闭“数据库”窗口。

2) 选择“工具”,“数据库实用工具”,“压缩和修复数据库”打开“压缩数据库来源”对话

框。在这种情况下,该文件将被压缩,从而创建N o r t h w i n d . m d b文件一份复本。

3) 在“压缩数据库来源”对话框的列表框中,双击N o r t h w i n d . m d b项。“将数据库压缩为”对话框将出现。

4) 你可以接受“文件名”文本框中的默认文件名( d b 1 . m d b ),或者也可以在“文件名”文

本框中输入一个更具创造性的名字,例如I l l w i n d . m d b,然后单击“保存”。用新的名字压缩一个数据库文件将创建一个新的、压缩的数据库,你可以在这个数据库上进行测试和试验。

5) 选择“文件”,“打开数据库”。双击d b 1 . m d b或者你在步骤4中输入的名字。

6) 在“数据库”窗口中双击C u s t o m e r s,打开该表。

注意以下几节所描述的大部分键盘操作可以在多种情况下运用,具体有:“数据表”视图中的表

和可更新查询,窗体上的文本框和在“表设计视图”中的“属性”窗口和“字段属性”网格中输入

属性值。在这个例子中,“箭头键行为”属性被设置为“下一个字符”,而不是默认的下一个字段值

(见后面“设置数据输入选项”一节,其中讲述了如何改变“箭头键行为”属性值)。当将“箭头键

行为”属性设为“下一个字段”时,箭头键将会把插入符从一个字段移到另一个字段。D O S或者大

型的数据库应用中所习惯的数据输入操作符可能更愿意使用“下一个字符”这样的设置。

5.2.2 使用数据输入和编辑键

A c c e s s中使用的箭头键和组合键,大部分情况下与其他Wi n d o w s应用中的用法相同。F 2键,

在E x c e l中用于编辑单元格内容,在A c c e s s中却具有另外的功能,可是它仍然用于在编辑和选

择模式之间进行切换。切换的意思是在两种状态之间进行转换。在编辑状态下,插入符指示的

是在字段中的插入点;在表5 - 1中的组合键都是起作用的。如果字段是被选的(白色字体黑色背

景),则编辑键的行为将如表5 - 2中所述。

注意在下面的表中,术语字段用于许多特定的数据单元格或者单元格的描述,为的是能够和

Access文档和帮助窗口取得一致。

表5-1 用于编辑字段、网格和文本框的键

键功能

F 2 在显示编辑插入符和选定整个字段之间进行切换。该字段必须处于落选状态(黑

色文本白色背景)并且插入符必须可见,本表中所描述的键可以工作

E n d 将插入符移到单行字段的末尾,或者多行字段的行尾

C t r l + E n d 将插入符移到多行字段的最后

←将插入符向左移动一个字符,直到到达本行的行首为止

C t r l +←将插入符向左移动一个单词,直到到达本行的第一个单词为止

H o m e 将插入符移到行首

(续)

键功能

C t r l + H o m e 将插入符移到多行字段的开始处

B a c k S p a c e 删除整个选择内容或者插入符左边的一个字符

D e l e t e 删除整个选择内容或者插入符右边的一个字符

C t r l + Z或者A l t + B a c k S p a c e 撤消自上次保存以来所做的键入、替换操作或者其他对记录的改动。一个被编辑

的记录只有当你转到下一个记录或者关闭编辑窗口时才被保存到数据库中

E s c 撤消对当前字段的改动。如果你编辑了其他的字段,按下E s c两次将撤消对当前字段

以及整个当前记录的改变

表5-2 在字段、网格和文本框中进行选择的键

字段中的文本

F 2 在显示编辑插入符和选定整个字段之间进行切换。该字段必须被选(白色字体黑

色背景),本表中所描述的键才能按所描述的那样操作

S h i f t +→选择或者撤消对右边一个字符的选择

C t r l + S h i f t +→选择或者撤消对右边一个单词的选择,包括结尾处的空格

S h i f t +←选择或者撤消对左边一个字符的选择

Ctrl+ Shift+←选择或者撤消对左边一个单词的选择

下一个字段

Ta b或者E n t e r 选择下一个字段。本章后面的“设置数据输入选项”一节中将告诉你如何改变E n t e r

键的作用

记录

S h i f t +空格键选择或者撤消对整个当前记录的选择

↑当有一个记录被选时,选择前一个记录

↓当有一个记录被选时,选择下一个记录

C t r l +空格键切换对当前列的选择

←选择左边的一列(如果有一列被选并且其左边还有一列的话)。

字段和记录

F 8 打开“扩展”模式。你将在状态条中看到“E X T”。在“扩展”模式下,按下F 8将会

把选择扩展到一个单词,然后是一个字段,一个记录,然后是所有记录

S h i f t + F 8 与上次F 8的效果相反

E s c 取消“扩展”模式

选择整个字段或者字段的一部分的操作,如表5 - 2中所列出的那样,通常和Windows 剪贴

板操作一起使用。选择整个字段,然后按下删除或者键入一个字符,便可以快速冲掉所选字段

的原始内容。

5.2.3 用于Windows剪贴板操作的组合键

在“表(数据表视图)”中,剪贴板主要用来在应用之间传递A c c e s s数据。但是,你也可

以使用剪贴板进行重复性的数据输入。Access 2000允许你选择表中的一块数据单元格并将之

复制到剪贴板上。选择一块单元格的步骤如下:

1) 将鼠标指针放到你想选择的单元格块的左上角部分的左边缘。鼠标指针(在此之前一直

为I -条形状)变为一个十字形状,与Excel 工作表所用的指针相似。

2) 拖动鼠标指针,将之移到所要选择的单元格块右下角的右边缘。

112 第一部分Access基础

3) 所选择的块在显示上将和平时相反(白字黑底,也称为颠倒视频)。当选择能够满足你的

要求后释放鼠标按钮。

图5 - 1所示为在C u s t o m e r s表中选中的一个数据块。你可以复制该数据块,但是却不能剪切

它们。

图5-1 在“表(数据表视图)”中选择一个方形的数据块

表5 - 3所列出的组合键用于向剪切板复制或者剪切数据以及从剪切板粘贴数据。当你从剪

切板粘贴数据时,如果该数据具有正确的数据类型并在字段大小限制之内,则会将所有的数据

都粘贴到一个单元格中。

表5-3 用于Windows 剪贴板操作的组合键

键功能

C t r l + C或者C t r l + I n s e r t 将所选内容复制到剪贴板上

C t r l + V或者S h i f t + I n s e r t 将剪贴板上的内容粘贴到插入符位置

C t r l + X或者S h i f t +

D e l e t e 将所选内容复制到剪贴板上,然后将该内容删除。这个操作也叫做剪切。剪切的内容仅仅限于在一个单元格中用插入符所选择的内容

C t r l + Z或者A l t + B a c k S p a c e 撤消上一次的剪切、删除或者粘贴操作

提示如果你将一矩形数据块粘贴到某个单元格中,你将会收到“数据太长”的错误消息。

A c c e s s随后将创建一个粘贴错误表,其中将包含矩形数据块的内容,这是快速创建新表的一种方

法。如果你用这种方式创建了一个表,则必须立即将之重新命名; 否则,A c c e s s将在下一次发生

粘贴错误时用一个新的粘贴错误表将之覆盖。如果你在向表中粘贴数据时遇到了其他问题,请

参见本章后面“疑难解答”中的“导致粘贴错误的字段属性值”和“多个记录选择导致的无记

载粘贴错误”话题。

5.2.4 在字段和文本框上使用快捷键

快捷键可以减少在完成常见的数据输入任务时所需要的击键次数。大多数快捷键使用的都

是C t r l键和其他键的组合。用于剪贴板操作的C t r l + C、C t r l + V和C t r l + X是Windows 9x中全局快捷键的典型例子。表5 - 4所列出的是字段和文本框输入时使用的快捷键。

第5章输入、编辑和验证表中的数据113

表5-4 表中字段和文本框输入所用到的快捷键

键功能

C t r l + ;(分号)插入当前的日期

C t r l +:(冒号)插入当前的时间

C t r l +’(单引号) Ctrl+”(双引号) 插入前一个记录中同一个字段的值

C t r l + E n t e r 在文本框中插入一个新行字符(回车加换行)

C t r l + +(加号)向表中添加一个新的记录

C t r l +-(减号)从表中删除当前的记录

Shift+ Enter 将所有的改变都保存到当前的记录中

提示仿效D O S或者大型R D B M S中所使用的数据输入键行为,可以使得那些有多年D O S或者大

型数据库应用数据输入操作符工作经验的用户更为愿意接受你的数据库应用。

5.2.5 设置数据输入选项

修改箭头键、Ta b键和E n t e r键的行为方式时,选择“工具”,“选项”并单击“键盘”选项

卡,显示键盘选项设置。表5 - 5列出了带有默认值的所有可以利用的选项。这些键盘选项使你

可以将数据输入键的行为设置得和D O S数据库管理器相似。

表5-5 Access系统的键盘选项

选项功能

光标停在第一个/最后一个字段上选择了这个选项之后,可以防止按下左右箭头键时将插入符移动到另一

个记录,插入符将保持在记录的第一个字段和最后一个字段之间

按E n t e r键后光标的移动方式

不移动当这个选项被选之后,当你按下E n t e r时插入符将保持在当前字段中

下一个字段(默认)当这个选项被选之后,当你按下E n t e r时,插入符将移到下一个字段。使

用这个设置可以复制x B a s e行为

下一个记录当这个选项被选之后,当你按下E n t e r时,插入符将沿该列向下移动到下

一个记录

箭头键行为

下一个字段(默认)如果这个选项被选,按下左右箭头键时,插入符将移到下一个字段。

下一个字符如果这个选项被选,按下左右箭头键时,插入符将在同一个字段中向前

或后移动一个字符。如果你想复制x B a s e或者大型数据库的行为,你便

可以使用这个设置

输入字段行为

选定全部字段(默认)当这个选项被选后,当你按下箭头键把插入符移到一个字段时,该字段

的整个字段都将被选中

转到字段的起始位置选择这个选项将导致当你使用箭头键将插入符移到某个字段时,插入符

会移到字段的起始位置

转到字段的结束位置选择这个选项将导致当你使用箭头键将插入符移到某个字段时,插入符

便会移到字段的结束位置。要复制x B a s e或者大型数据库的行为时,可

以使用这个设置来完成

5.3 向表中添加记录

当你在“数据表”视图中打开一个可更新的表时,最后一行是一个用于添加新记录的空的

114 第一部分Access基础

占位符,在本书中称之为假设追加记录(所谓可更新的表是指你可以向其中添加数据或者编辑

其数据的表)。在数据表中最后一个记录的选择按钮上有一个星号,该星号用以指示这是一个

假设追加记录。记录选择按钮就是在表的“数据表”视图中最左边一列的灰色按钮。如果你以

只读访问方式打开一个数据库,则假设追加记录将不会出现。从其他数据库中选用的表也可以

是只读的,关于这种附加表的可更改性,我们将在第7章“链接、导入和导出表”中进行讨论。

提示要想快速地移到假设追加记录,可以单击“新记录”浏览或者工具栏按钮。

当你将插入符放到假设追加记录中的某个字段中时,该记录选择按钮上的星号将变为选定

记录符号。当你向假设追加记录中某个字段中添加数据时,选定记录符号将变为编辑符号(一

支铅笔),同时一个新的假设追加记录出现在你增加记录的后面一行中。图5 - 2所示为将一条新

的记录添加到C u s t o m e r s表时的情形。C u s t o m e r I D字段具有输入掩码,需要你输入五个字母,并且在输入时将自动地将之转换为大写。输入掩码将会把插入符从I -条状转换为反相显示块。

如果想要复习一下输入掩码如何工作,请参见4 . 6 . 3节“使用输入掩码”。

图5-2 向Customer表添加一个新的记录

需要取消一个新记录的添加时,可以连续按下E s c键两次。按下E s c一次将取消你对当前字

段所做的改变。如果你只编辑了一个字段,然后按下E s c,你也将取消这个新记录的添加。

5.4 选择、追加、替换和删除表记录

你可以选择一个或者一组记录并将之复制或者剪切到剪贴板上,或者将之从表中删除,具

体的方法如下:

? 选择单个记录时,单击其记录选择按钮即可。

? 选择连续的一组记录时,单击第一个记录的选择按钮,然后沿记录选择按钮拖动鼠标指

针直到组中的最后一个记录。

另外,选择一组记录时,也可以单击第一个记录的选择按钮,然后S h i f t +单击组中包含的

最后一个记录。你也可以按下S h i f t +↓来选择一组记录。

注意你可以将一组记录剪切到剪贴板上,将之从表中删除,但是却不能剪切数据块。一组记录

包含所选的一个或者多个记录的所有字段。而一个数据块由在表数据表中所做的选择构成,不

一定包含所选行的所有字段。对于记录组,编辑、剪切命令是激活的,而对于数据块这些命令

却是被禁止的。

第5章输入、编辑和验证表中的数据115

你可以向同一个表或者另一个表以剪切或者复制及追加的方式添加复制的记录(如果追加

的复制记录不会导致主键冲突的话)。但是如果实施了参照完整性并且在相关的表中有相关的

记录存在,便不能从一个主表中剪切记录。下述的方法适用于用存储在剪切板上的记录向表中

添加或者替换某些记录的内容:

? 从剪切板上向表中追加记录时,选择“编辑”,“粘贴追加”(粘贴追加不存在快捷键)。

? 用剪切板上的内容替换记录中的内容时,先选择你想替换的记录的内容,然后按下

C t r l + V。只有你所选的记录或者存储在剪切板上的记录才会被替换(有多少算多少)。

如果想要删除一个或者多个记录,可以选择你想删除的记录,然后按下D e l e t e。如果删除

是允许的话,将出现一个消息框让你确认是否真的要进行删除。记录删除后将无法撤消。

5.5 验证数据输入

如果数据库对你或者你的公司颇有价值的话,那么在表中输入的数据必须正确。即便是最

为熟练的数据录入人员偶尔也会输入不正确的信息。为了添加简单的测试以验证数据项的合理

性,可以通过在“表设计”视图“常规”页的“字段属性”窗格中添加一个短表达式作为有效

性规则。如果所输入的数据不能够满足你的有效性规则,便会出现一个消息框通知录入人员违

反了有效性规则。对数据进行验证可以维护表的域完整性。

表达式是计算机程序设计的核心元素。A c c e s s使得创建表达式变得十分简单,并不需要你

是一个程序员,当然如果熟悉程序设计语言肯定是有帮助的。表达式使用的是人们所熟悉的算

术符号+、-、* (乘)和/ (除)。这些符号叫做操作符,因为它们操作(使用)位于其前或其后的

值。这些操作符在V B A中是保留符号。操作符所操作的值叫做操作数。

也可以使用操作符比较两个值; < (小于) 和> (大于)符号是操作符中用于比较的例子。A n d、

O r、I s、N o t、B e t w e e n和L i k e叫做逻辑操作符。比较和逻辑操作符返回的值只有Tr u e、F a l s e和未知( Null 值)。&操作符用于将两个文本项(字符串或者就是串)合并为一个(字符)串(在

A c c e s s中,可以用+ 来连接两个字符串,但是&是首选的符号,因为它不会对进行的操作产生

异义。使用+ 操作符时,在处理数字和字符串上无论对A c c e s s还是用户都有可能产生混淆,因

为到底是连接还是算术加不是一目了然的)。能够称得上一个表达式,至少需要包含一个操作

符。根据每个操作符所涉及到的规则,将不同的操作符组合在一起,便可以构造出复杂的表达

式。这些规则的集合称为操作符语法。

如果想要学习Access 操作符更多的知识,请参见9 . 2节“理解表达式中的元素”。

数据有效性规则所使用的表达式其结果值为两个值之一: Tr u e或者F a l s e。如果验证的结果

为真则在数据单元格中输入的数据将会被接受;如果为假,该数据将被拒绝。如果数据被有效

性规则拒绝,则你在“有效性文本”属性中输入的文本将出现在消息框中。第9章将详细介绍

A c c e s s有效性表达式的语法。

5.5.1 添加字段级有效性规则

限制了在字段中输入的值并且只基于一个字段的有效性规则叫做字段级有效性规则。表5 -

6所列出了在第4章中Personnel Actions表的某些字段上所使用的一些简单的字段级有效性规则。

提示使用In操作符可以简化带有多个Or 操作符的表达式。例如,可以把paType字段的有效性规

则属性值替换为In(“H”,“S”,“Q”,“Y”,“B”,“C”),它使用的字符更少一些。

在现在的窗体中,字段的雇员I D编号有效性规则并不能保证输入的一定是一个有效的I D编

号。你可以输入一个比公司中雇员总数还大的数字。p a I D字段的有效性规则将测试E m p l o y e e s 116 第一部分Access基础

表的E m p l o y e e I D数字字段检查p a I D编号是否存在。你不需要创建这个测试,因为参照完整性

规则将为你执行这个有效性验证。p a I n i t i a t e d B y和p a A p p r o v e d B y的有效性规则需要基于

E m p l o y e e s表中条目进行测试。

表5-6 Personnel Actions表中字段上使用的有效性规则

字段名有效性规则有效性文本

p a I D > 0 请输入一个有效的I D编号

p a Ty p e “H” Or “S” Or “Q” Or 只有H、S、Q、Y、B和C是可以被接受的

“Y” Or “B” Or “C”

paInitiated By > 0 请输入一个有效的总监I D编号

p a S c h e d u l e d D a t e Between Date()-3650 And Date()+365 计划日期不能在1 0年之前和一年之后

p a A p p r o v e d B y >0 Or Is Null 输入一个有效的经理I D编号或者如果没被批

准则保留为空白

p a R a t i n g Between 0 And 9 Or Is Null 等级范围从0(用于终止雇用关系的雇员)、1

到9或者为空白

p a A m o u n t 无无

p a C o m m e n t s 无无

如果需要复习一下关系型引用规则,请参见4 . 1 0 . 2节“实施参照完整性”。

向Personnel Actions表添加有效性规则时,可以遵循如下步骤:

1) 如果Personnel Actions表没有被打开的话,在“数据库”窗口中双击其名字将之打开。

2) 单击“设计视图”按钮,返回“设计”模式。选定p a I D字段。

3) 按下F 6,切换到“字段属性”窗口,然后移到“有效性规则”文本框。

4) 输入> 0并移到“有效性文本”文本框。

5) 键入“Please enter a valid employee ID”。该文本当长度超过了文本框的显示能力之后将

向左滚动。要显示文本的开头时,按下H o m e。按下E n d将会把插入符放在最后一个字符后面。

按下E n t e r结束该操作。

6) 在必填字段中输入“是”,或者从下拉列表中选择“是”。图5 - 3所示为“字段属性”文

本框中的输入。

图5-3 字段属性文本框,显示的是第一个有效性输入

7) 按下F 6,切换到“表”设计网格。移到下一个字段并按下F 6。

第5章输入、编辑和验证表中的数据117

8) 重复步骤2到5,按表5 - 6中列出的内容为其余的6个需要进行有效性验证的字段输入有效

性规则和有效性文本。方括号( [ ] )用于包含那些有标点符号和空格的字段名。在“必填字段”

文本框中为p a Ty p e、p a I n i t i a t e d B y和p a S c h e d u l e d D a t e字段输入“是”。我们将在后面的“输入Personnel Actions表数据和测试有效性规则”一节中测试所输入的

有效性规则。

5.5.2 添加表级有效性规则和使用表达式生成器

字段p a E ff e c t i v e D a t e需要一个基于

p a S c h e d u l e d D a t e值的有效性规则。人事部

操作的有效日期不应该在最终导致该操作

的评论所预定的日期之前。在Access 2000

中不能在有效性规则表达式中引用其他的

字段名;添加这样的有效性规则可以在

“表属性”窗口中完成。在有效性规则中,

如果一个字段的值依赖于前面在当前记录

中另一个字段中所输入的值,则称为表级

有效性规则。

遵照如下步骤,为p a E ff e c t i v e D a t e字

段创建一个表级有效性规则:

1) 单击“属性”工具栏按钮,显示出

“表属性”窗口(见图5 - 4 )。

2) 在“说明”文本框中输入P e r s o n n e l

Department Actions (见图5 - 4 )。

3) 在“有效性规则”文本框中,单击

“省略号”按钮,显示“表达式生成器”

对话框(见图5 - 5 )。当前的表P e r s o n n e l

A c t i o n s,在左边的列表中是被选中的,而

该表的字段显示在中间的列表中。

4) 双击中间列表中的p a E ff e c t i v e D a t e

将[ p a E ff e c t i v e D a t e ]放到该对话框上方的

“表达式生成器”文本框中。

5) 在文本框中输入> =,双击中间列

表中的p a S c h e d u l e d D a t e将[ p a S c h e d u l e d

D a t e ]添加到该表达式。

6) 如果人员操作的有效日期没有被安

排,则接受一个空白输入,添加Or [pa-

E ffectiveDate] Is Null到该表达式中。表达

式看上去如图5 - 5。

7) 单击“确定”,添加这个表级有效性规则并关闭“表达式生成器”对话框。

8) 在“有效性文本”文本框中,输入E ffective date must be on or after scheduled date。这时

的“表属性”窗口如图5 - 6所示。

118 第一部分Access基础

图5-4 在“表属性”窗口中添加对表的描述

图5-5 用“表达式生成器”创建一个有效性规则

图5-6 为表级有效性规则添加有效性文本

9) 单击“表属性”窗口的“关闭窗口”按钮或者单击工具栏上的“属性”按钮,关闭该

窗口。

5.6 向Personnel Actions表添加记录

现在可以检验一下你的工作了,创建Personnel Actions表并检查A c c e s s是否实施了域完整

性。表5 - 7中所示为Northwind Tr a d e r s的每个雇员的初始输入。在表5 - 7中没有等级项,因为等

级不适用于新雇员。

表5-7 Personnel Actions表的最初的9个输入

I D Ty p e I n i t i a t e d B y S c h e d u l e d Approved By E ff e c t i v e D a t e N e w A m o u n t C o m m e n t s

1 H 1 0 1 - M a y - 1 9 9

2 0 1 - M a y - 1 9 9 2 2 000 H i r e d

2 H 1 1 4 - A u g - 1 9 9 2 1 4 - A u g - 1 9 9 2

3 500 H i r e d

3 H 1 0 1 - A p r- 1 9 9 2 0 1 - A p r- 1 9 9 2 2 250 H i r e d

4 H 2 0 3 - M a y - 1 9 9 3 2 0 3 - M a y - 1 9 9 3 2 250 H i r e d

5 H 2 1 7 - O c t - 1 9 9 3 2 1 7 - O c t - 1 9 9 3 2 500 H i r e d

6 H 5 1

7 - O c t - 1 9 9 3 2 1 7 - O c t - 1 9 9 3 4 000 H i r e d

7 H 5 0 2 - J a n - 1 9 9 4 2 0 2 - J a n - 1 9 9 4 3 000 H i r e d

8 H 2 0 5 - M a r- 1 9 9 4 2 0 5 - M a r- 1 9 9 4 2 500 H i r e d

9 H 5 1 5 - N o v - 1 9 9 4 2 1 5 - N o v - 1 9 9 4 3 000 H i r e d

在“数据表”视图中输入历史信息对于熟练的数据录入人员来说是一种较快的方法。该方

法还为测试每个字段的默认输入和格式属性提供了机会。你可以输入一些不满足有效性规则的

伪造值,确认一下你所输入的规则是否能够发挥作用。用表5 - 7中的数据向Personnel Actions表

添加第9个历史记录时,遵循的步骤如下:

1) 如果需要,单击工具栏的“数据表”按钮,返回运行模式下的“数据表”视图。插入符

将会停在默认的第一个记录的p a I D字段上。

2) 输入该雇员的p a I D。按下E n t e r、Ta b或者右箭头键,转移到下一个字段,一个新的默认

空白记录将添加到视图中,但是表的内容中并没有添加这条空白记录。当向默认的空白记录的

某个字段中输入一个值之后,这条新记录才会添加到表中。

3) 在Ty p e字段键入H,然后转移到下一个字段。

4) 为p a I n i t i a t e d B y字段键入一个数字值(由于字段的有效性规则,你必须为每个雇员在这

个字段中输入一个值)。转移到下一个字段。

5) 键入p a S c h e d u l e d D a t e。不需要删除默认日期值;只要键入一个新日期便可替换掉默认值。

然后按下E n t e r、Ta b或者右箭头键。

6) 如果表中有p a A p p r o v e d B y的值,键入该值。然后按下E n t e r、Ta b或者右箭头键。

7) 键入p a E ff e c t i v e D a t e条目。按下E n t e r、Ta b或者右箭头键两次,跳过R a t i n g字段,该字段

对于新的雇员来说是不适用的。

8) 输入雇用时的月薪水p a A m o u n t。按下E n t e r、Ta b或者右箭头键。

9) 在p a C o m m e n t s字段键入H i r e d或者任何其他你喜欢的注释。转向下一个默认空白记录的

p a I D字段。

10) 为表5 - 7中列出的其余8个雇员分别重复步骤2到步骤9 (如果需要,还可以添加类似的记

录,例如雇员1 0到雇员15) 。

当完成输入后,Personnel Actions表将如图5 - 7中所示。

第5章输入、编辑和验证表中的数据119

图5-7 具有最初9个记录的Personnel Actions表

如果你不能肯定如何响应验证字段上出现的数据输入错误消息,请参见本章后面的“疑难

解答”部分“实施有效性验证时产生的错误消息”。

5.7 输入Personnel Actions表数据和测试有效性规则

可以同时进行表数据的输入和测试有效性规则。测试数据库应用常常需要大量的时间和努

力,甚至比创建它们时还要辛苦。确定有效性规则时,必须进行的基本测试如下:

? 参照完整性在p a I D字段键入2 5,在默认空白记录的p a I n i t i a t e d B y字段键入2 (其编号为

1 0 ),然后按下上下箭头键。按下向上的箭头键,通知A c c e s s你已经完成了当前记录,并

希望将插入符移到前面记录的同一个字

段之中。A c c e s s随后将在使你能够离开

当前记录之前测试主键完整性。如果你

已经关闭了“ O ff i c e助手”,则如图5 - 8中

所示的对话框将出现; 否则O ff i c e助手便

会给出这条消息。单击“确定”或者按下E n t e r。

? 主键不能重复在刚才添加的记录中,试着重复一下记录9中的输入,然后按下向上的

箭头键。如果你关闭了助手,你将会看到如图5 - 9所示的消息框。单击“确定”或者按

下E n t e r。

图5-9 该消息框告诉你某个记录具有重复的键值

? p a Ty p e验证键入x,按下右箭头键,将导致显示一个消息框,其中显示有你为p a Ty p e字

段输入的有效性文本(见图5 - 1 0 )。单击“确定”或者按下E n t e r。

键入q并移到p a I n i t i a t e d B y字段。当插入符离开p a Ty p e字段时, q将改变为Q,因为我们使

用了> 格式符。键入0 (一个有效的雇员I D编号),并按下右箭头键,将显示如图5 - 11所示的消

息框。单击“确定”或者按下E n t e r。

继续上述测试。为p a S c h e d u l e d D a t e键入一个日期,例如1 / 3 1 / 1 9 9 9,为p a E ff e c t i v e D a t e键入一个更早些的日期(例如1 / 3 0 / 1 9 9 9 ),将出现一个显示错误的消息框,在该消息框中显示的是

你输入的有效性文本(你必须将插入符移到其他记录,才能使得表级有效性规则发生作用)。测

120 第一部分Access基础

图5-8 指示输入违反了参照完整性规则的消息框

试之后再输入一个有效的日期。编辑某个字段而不是重新键入其内容时,按下F 2,使整个字

段落选,则显示出来编辑用的插入符。F 2用于切换选择和编辑操作。

当完成测试之后,单击你添加的最后一个记录的选择按钮,然后按下D e l e t e。如图5 - 1 2所

示的确认消息将出现。

5.8 疑难解答

1. 导致粘贴失败的字段属性值

当你向一个单元格粘贴数据时,A c c e s s产生蜂鸣。

粘贴操作可能违反了域或者参照完整性规则,通常是“字段大小”属性值。例如,如果试

图向C u s t o m e r s表C u s t o m e r I D字段粘贴多于五个字符的数据,粘贴操作将会悄无声息的失败。

要确保你要粘贴的单元格或者单元格块满足“字段大小”和其他数据有效性规则。

2. 多个记录选择导致无声的粘贴失败

当你向一个单元格粘贴数据时,什么也没有发生。

选择了多个记录,然后试图将该记录粘贴到一个单元格时,即便是假设追加记录的第一

个单元格,也会导致无声的粘贴失败。A c c e s s禁止用编辑、粘贴追加命令进行多个记录的插

入操作。

3. 实施有效性验证时产生的错误消息

当在一个带有有效性规则的字段中输入数据时,产生了错误消息。

编辑或者重新输入符合该字段数据类型和有效性规则的数据。当你输入数据时出现了错误

消息,无非是说明有些地方违反了你的有效性规则。这时,需要改变到设计模式并检查出问题

字段的有效性规则是否与表5 - 6中严格一致。你也可以选择整个表达式,然后将之剪切到粘贴

板上,暂时将有效性规则删除(以后你还可以再将该表达式粘贴到该文本框中)。返回“运行”

模式继续你的输入。

5.9 现实世界—批量数据输入

本章所提供的用以加速数据输入的快捷键组合的列表阅读起来非常乏味。本书既是指南又

是参考,而作为参考的话,就必须要全面。因此详细地列出了Access 2000的功能特征和它们

的函数,所以不论这些列表或者功能和函数多么乏味,都是不可避免的。

你可能并不欣赏A c c e s s提供的数据输入快捷键,但是到你必须在“数据表”视图中键入大

量的数据时,你就会认识到它的重要性了。很显然,更为可取的办法是导入现有的数据,最大

限度地利用第7章介绍的A c c e s s灵活的数据导入特征。但是,几乎任何人都将面对无法避免的

键入表数据的混乱局面,例如为测试一个新的数据库而进行大量的输入。

1. 头朝下(H e a d - D o w n)方式的数据输入和A c c e s s数据表视图的比较

在大型计算机的年代(其实它们当中的大部分还不如今天的P C快),IBM 026或者0 2 9打孔

第5章输入、编辑和验证表中的数据121

图5-10 当一个输入违反了有效性

规则时显示的消息框

图5-11 响应无效雇员ID编号

输入的消息框

图5-12 当删除一个或者多个

记录时出现的确认消息框

操作员从一叠源文档生成一堆8 0列的打孔卡片。打孔操作员根据他们生产的卡片的数量领取的

常常是计件报酬,而领取工资的操作员常常都限定了每天的最低限额。因此打孔操作员在一天

中至少有8个小时的时间其眼睛是盯在一叠文档上,所以便产生了术语“头朝下的数据输入”

注意如果你从未见过使用打孔卡片的机器,在https://www.wendangku.net/doc/324915712.html,/ctitext/history/keypnch.html有一幅IBM 029打孔机的图片。American University的Tim Berg e n博士开设了计算史课程,在

https://www.wendangku.net/doc/324915712.html,/~tbergin/history/punch/上提供了大量的关于打孔计算机方面的材料。表或者可更改查询的“数据表”视图便是最简单的同时也是最为快速的向表中添加大量记

录的“头朝下”的方法。有时需要进行水平滚动,以便显示一个宽表的其余列表,例如顾客名

字和地址的列表,这使得数据表输入变得稍显麻烦。如果你是一个出色的打字员的话,那么使

用快捷键来进行快速的列浏览便会成为第二个性。

用于添加相关记录的“数据表”视图在早期的A c c e s s版本中显得较为笨重,所以大多数开

发人员通常都会创建数据输入窗体子窗体对,具体见第1 3章“设计自定义多表窗体”。但是,Access 2000提供了子数据表,用它来添加多个相关的记录几乎和向基表中添加一个单个的记

录没有什么分别。子数据表的主要缺点是在扩展子数据表时需要用鼠标单击“ +”符号。在低

头进行键盘数据输入和鼠标操作之间来回进行切换会大大降低数据录入操作员的效率。

2. 替换打孔卡片的校验步骤

校验数据以保持域完整性是打孔过程中的关键步骤。进行数据验证的最为常见的方法,有

时也叫做有效性检查,便是重新键入最初的数据,看看第二次输入和第一次输入是否匹配。很

显然,这个方法在“数据表”视图中是不适用的,尽管说你可以借助于简单的窗体和一些V B A

代码对两组输入进行比较来实现打孔卡片验证。

数据验证和有效性检查不完全相同。验证针对的是复制中产生的印刷上的错误,而有效性

检验主要是测试数据输入是否和一组固定的规则相符合。在编写精致的Access 有效性规则时你

越精明,则输入的数据的整体准确性越好。尽管说窗体级的有效性检验更为灵活,但是字段级

和表级有效性检验将会应用于任何绑定到表上的窗体上的数据输入。因此要避免在表的允许数

据输入的每个窗体上重复创建有效性检验的操作。使用字段级和表级有效性检验的最为烦人的

事情便是要不停的关闭那些描述数据输入错误的“有效性文本”消息框。

3. 在什么地方不使用数据表输入

数据表输入对于那些日常的“打孔”标准文档来说极为适用。数据表输入不适用于特殊的

情形,例如电话定购或预约,或者其他涉及到在相关的表上进行查找操作的行为。第1 2章“创

建和使用窗体”中的“现实世界—窗体设计技巧”部分将讨论专门为“头朝下”电话定购而

设计的典型A c c e s s数据输入窗体的某些特征和功能。一个带有列表和文本框的窗体以及随当前的操作模式而出现或者消失的子窗体,可以使得操作员快速地找到一个现有顾客的记录、老顾

客的列表和当前订单,同时还可以添加一个带有多行数据项的新订单。窗体的设计只针对键盘

操作,完全杜绝了从键盘到鼠标或跟踪球之间的来回切换。

122 第一部分Access基础

__

《操作系统》习题集:第5章 输入输出管理

第5章输入输出管理-习题集 一、选择题 1.()是直接存取的存储设备【*,联考】 A. 磁盘 B. 磁带 C. 打印机 D. 键盘显示终端 2.在中断处理中,输入/输出中断是指()。【*,★,联考】 Ⅰ. 设备出错Ⅱ. 数据传输结束 A. Ⅰ B. Ⅱ C. Ⅰ和Ⅱ D. 都不是 3.用户程序发出磁盘I/O请求后,系统的正确处理流程是()。【**,★,11考研】 A. 用户程序→系统调用处理程序→中断处理程序→设备驱动程序 B. 用户程序→系统调用处理程序→设备驱动程序→中断处理程序 C. 用户程序→设备驱动程序→系统调用处理程序→中断处理程序 D. 用户程序→设备驱动程序→中断处理程序→系统调用处理程序 4.如果I/O设备与存储设备进行数据交换不经过CPU来完成,这种数据交换方式是()。【*,★,联考】 A. 程序查询 B. 中断方式 C. DMA方式 D. 无条件存取方式 5.在操作系统中,()指的是一种硬件机制。【*,联考】 A. 通道技术 B. 缓冲池 C. SPOOLing技术 D. 内存覆盖技术 6.通道又称I/O处理机,它用于实现()之间的信息传输。【*,联考】 A. 内存与I/O设备 B. CPU与I/O设备 C. 内存与外存 D. CPU与外存 7.通道程序是()。【*,联考】 A. 由一系列机器指令组成 B. 由一系列通道指令组成 C. 可以由高级语言编写 D. 就是通道控制器 8.在以下I/O控制方式中,需要CPU干预最少的是()。【*,★,联考】 A. 程序I/O方式 B. 中断控制方式 C. DMA控制方式 D. 通道控制方式 9.与设备相关的中断处理过程是由()完成的。【**,★,联考】 A. 用户层I/O B. 设备无关的操作系统软件 C. 中断处理 D. 设备驱动程序 10.(与题“3”同) 11.本地用户通过键盘登录系统时,首先获得键盘输入信息的程序是()。【**,★,10考研】 A. 命令解释程序 B. 中断处理程序 C. 系统调用程序 D. 用户登录程序 12.一个计算机系统配置了2台同类绘图机和3台同类打印机。为了正确驱动这些设备,系统应该提供()

第五章 过程输入输出通道技术汇总

第五章过程通道 在计算机控制系统中,为了实现对生产过程的控制,要将对象的控制参数及运行状态按规定的方式送入计算机,计算机经过计算、处理后,将结果以数字量的形式输出,此时需将数字量变换为适合生产过程控制的量,因此在计算机和生产过程之间,必须设置完成信息的传递和变换装置,这个装置称为过程输入输出通道,也叫I/O通道。 5.1过程输入输出通道概述 过程输入输出通道由模拟量输入输出通道和开关量输入输出通道组成。过程输入输出通道在微型计算机和工业生产过程之间起着信号传递与变换的纽带作用。 5.1.1 模拟量输入通道的一般结构 过程参数由传感元件和变送器测量并转换为电压(或电流)形式后送至多路开关;在微机的控制下,由多路开关将各个过程参数依次地切换到后级,进行放大、采样和A/D转换,实现过程参数的巡回检测。 5.1.2 模拟量输出通道的基本结构 多D/A结构的模拟量输出通道中的D/A转换器除承担数字信号到模拟信号转换的任务外,还兼有信号保持作用,即把微机在t=kT 时刻对执行机构的控制作用维持到下一个输出时刻t=(k+1)T。这是一种数字保持方式,送给D/A转换器的数字信号不变,其模拟输出信号便保持不变。 共享D/A结构的模拟量输出通道中的D/A转换器只起数字信号到模拟信号的转换作用,信号保持功能靠采样保持器完成。这是一种模拟保持方式,微机对通路i(i=1,2,...,n)的控制信号被D/A转换器转换为模拟形式后,由采样保持器将其记忆下来,并保持到下一次控制信号的到来。 多D/A形式输出速度快、工作可靠、精度高,是工业控制领域普遍

采用的形式。 5.1.3 开关量(数字量)输入通道的基本结构 开关量输入通道又称为数字量输入通道,该通道的任务是把被控对象的开关状态信号(或数字信号)送给计算机、或把双值逻辑的开关量变换为计算机能够接收的数字量送给计算机,简称DI通道。 典型的开关量输入通道通常由以下几部分组成: 1.信号变换器:将生产过程的非电量开关量转换为电压或电流的双值逻辑值。 2.整形变换电路:将混有毛刺之类干扰的输入双值逻辑信号或其信号前后沿不符合要求的输入信号整形为接近理想状态的方波或矩形波,然后再根据系统要求变换为相应形状的脉冲信号。 3.电平变换电路:将输入的双值逻辑电平转换为与CPU兼容的逻辑电平。 4.总线缓冲器:暂存数字量信息并实现与CPU数据总线的连接。 5.接口逻辑电路:协调各通道的同步工作,向CPU传递状态信息并控制开关量的输入、输出。 5.1.4 开关量(数字量)输出通道的基本结构 开关量(数字量)输出通道的任务是把计算机输出的数字信号(或开关信号)传送给开关型的执行机构(如继电器或指示灯等),控制它们的通、断或亮、灭,简称DO通道。其典型结构中锁存输出的主要作用是锁存CPU输出的数据或控制信号,供外部设备使用;隔离部件的作用是为防止干扰;功放的作用则是为把计算机输出的微弱数字信号转换成能对生产过程进行控制的驱动信号。 下面分别展开说明四种过程通道的组成及应用。

计算机组成原理课件 第5章输入输出B

第5章输入输出系统 5.1 概述5.2 外部设备5.3 I/O 接口555.4 程序查询方式56DMA 5.5 程序中断方式5.6 DMA 方式

5.5 程序中断方式 55 一、中断的概念 中断:计算机执行程序过程中,若出现异常情况或者特殊请求,则计算机转向对异常情况或者特殊请求的处理,处理结束后再返回继续执行原程序。 中断提高了计算机的效率和效能。 中断提高了计算机的效率和效能 实现中断功能所需的软硬件技术统称为中断技术。

一、中断的概念 …中断入口1 K 服务K +1 … 程序1 Q 中断入口2 Q +1 … 服务程序2

二I/O 5.5 二、I/O 中断的产生 I/O设备与主机交换信息时,由于外设速度低于CPU,CPU启动设备后,需要等待一段时间 后才能交换信息,在外设做准备时,CPU继续 执行现行程序在外设准备就绪并提出中断请执行现行程序,在外设准备就绪并提出中断请 求之后,再暂时中断现行程序,转入I/O服务 程序这就产生了中断 程序,这就产生了I/O中断。

二、I/O 中断的产生 5.5 以打印机为例 CPU 与打印机并行工作 执行主程序继续执行主程序 继续执行主程序响中响应中断 中断返回应中断 断返回 CPU 启动打印机 传送数据 传送数据 发准备 发打印 打印中断请求 中断请求 打印机 空闲 接收数据 接收数据

5.5采用中断机制原因 ?低速外设就绪后提出中断请求; ?应付突发事件的需要; ?实时控制中响应外来信号的需要; ?软件中断指令引起的中断 为了实现中断,计算机系统中必须配有相应的 为了实现中断计算机系统中必须配有相应的 中断系统或者中断机构。 为了处理I/O中断,在I/O接口电路中必须配置 相应的硬件电路,包括中断请求触发器、屏蔽 触发器、排队器、中断向量地址形成部件等。

5-1输入输出系统-作业

第五章设备管理 1.选择题 1.下述关于设备绝对号和相对号的说法中,正确的是 D 。 A.操作系统为每台设备确定一个绝对号和一个相对号 B.用户进程申请设备时应该指定绝对号和相对号 C.申请设备时指定绝对号可提高设备的利用率 D.申请设备时指定设备类、相对号使设备分配的灵活性强 2.虚拟设备技术是指用 C 的技术。 A.共享设备代替独占设备B.独占设备代替共享设备 C.共享设备模拟独占设备D.独占设备模拟共享设备3.SPOOL系统克服了____B__利用率低的缺点。 A.共享设备B.独占设备C.主存储器D.虚拟设备4.下列算法中可用于磁盘移臂调度的是 B 。 A.最短计算时间优先B.电梯算法C.时间片轮转D.响应比高者优先 5.用户编写程序时使用的设备与实际使用的设备无关,这种特性称为 B 。 A.设备一致性B.设备独立性C.设备虚拟性D.设备共享性 11.对磁盘进行移臂调度时,既考虑了减少寻找时间,又不频繁改变移动臂的移动方向的调度算法是 C 。 A.先来先服务B.最短寻找时间优先 C.电梯调度D.优先级高者优先 12.为了提高设备分配的灵活性,用户申请设备时应指定 A 号。 A.设备类相对B.设备类绝对C.相对D.绝对13.对磁盘进行移臂调度的目的是为了缩短 A 时间。 A.寻道B.延迟C.传送D.启动14.操作系统采用SPOOLing技术提高了 A 利用率。 A.独占设备B.文件C.主存储器D.共享设备15.从磁盘读取数据的下列时间中, D 对系统效率的影响最大。 A.处理时间B.传输时间C.延迟时间D.寻道时间21.以下 A 不属于磁盘的驱动调度。 A.最高响应比优先调度算法B.先来先服务调度算法 C.电梯调度算法D.单向扫描调度算法 22.操作系统中的SPOOLing技术,实质上是将 A “转化”为共享设备的技术。 A.临界设备B.虚拟设备C.脱机设备D.块设备23.关于SPOOLing的叙述中, B 是错误的。 A.SPOOLing系统中不需要独占设备 B.SPOOLing系统加快了作业的执行速度 C.SPOOLing系统使独占设备变成了共享设备 D.SPOOLing利用了处理器与通道的并行工作能力

相关文档
相关文档 最新文档