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个小时的时间其眼睛是盯在一叠文档上,所以便产生了术语“头朝下的数据输入” 注意 如果你从未见过使用打孔卡片的机器,在http://info.ox.ac.uk/ctitext/history/keypnch.html有一 幅IBM 029打孔机的图片。 American University的Tim Berg e n博士开设了计算史课程,在 http://www.csis.american.edu/~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数据输入窗体的某些特征和功能。一个带有列表和文本框的窗体以及随当前 的操作模式而出现或者消失的子窗体,可以使得操作员快速地找到一个现有顾客的记录、老顾 客的列表和当前订单,同时还可以添加一个带有多行数据项的新订单。窗体的设计只针对键盘 操作,完全杜绝了从键盘到鼠标或跟踪球之间的来回切换。