任务:打造个人图书管理系统
任务描述:本文目的是通过Access建立一个个人图书管理系统(可包含音乐CD、数据光盘等电子书),帮助我们管理好每一本图书。这个数据库可以记录每本书的基本资料,能随时增加或删改图书记录,还可以按照不同条件快速查找个人藏书的各种信息。如果同学、朋友之间都能建立起这样一个数据库,将数据库合并后,俨然就是一个小型图书馆,通过查询可以看看自己需要的图书是否有人买了,如果有的话则可以借阅一下,不必再重复投资。
注:本例使用的是Access 2003版,其他版本操作步骤大同小异。
给数据搭建一个“库房”
首先要建立一个空的“库房”(数据库),然后才好往里面装入数据。
第一步:启动Access 2003,单击菜单命令“文件→新建”(或单击工具栏上第一个“新建”按钮),在右侧“新建文件”窗格中单击“空数据库”项。
第二步:在打开的新建对话框中设置好文件名及保存路径,本例命名为“个人图书管理”,接着单击“创建”按钮(见图1),一个新的数据库就创建好了。
用“表”规划与存储数据
房子建好了还需要装修一下,才能达到更好的居住效果,数据库也一样,建好了也得好好规划一下,以便保存不同类型的数据。在Access中,“表”是规划数据库的核心,其主要作用是按照一定结构保存所有数据,其他如查询、报表等操作都需在此基础上才能完成。
第一步:首先规划一下表结构。图书信息有很多,本例仅仅是一个演示,因此本例创建的图书基本信息数据表只设置了序号、书名、作者、出版社、购买日期、定价、图书类别、介质和内容简介等几个字段。
第二步:如图2所示,单击数据库主窗口左侧“对象”下的“表”按钮,接着双击右侧的“使用设计器创建表”项打开设计视图窗口,在“字段名称”的单元格中输入字段名,单击其右侧的“数据类型”单元格,从下拉列表中为每个字段设置一种类型。本例中,序号选“自动编号”,购买日期选“日期/时间”,定价选“货币”,内容简介选“备注”,其他都选择的是“文本”。可以在窗口下面的字段属性中对数据类型进行具体的设置,比如“文本”数据类型的默认长度是50个字符,遇到长书名时就不够用了,所以可在其常规项中将“字段大小”改为255,而像作者名,20个字符肯定够了。
第三步:设置好所有字段及数据类型后,数据表框架就算完成了。Access建议每个数据表都要设置一个主键字段,这样才能定义与数据库中其他表间的关系。用鼠标在“序号”单元格中点击一下,然后再单击工具栏上的钥匙图标,就可以把此字段设置为主键了。按Ctrl+S快捷键保存一下,第一次保存数据表将会弹出一个另存对话框,输入数据表名称(本例为“图书基本信息”)后确定即可。
第四步:关掉设计视图窗口,这时会在数据库主窗口中看到刚才保存的“图书基本信息”表,双击打开它进入数据表视图窗口,现在就可以往数据表中添加数据了。数据输入方法与在Excel中相似,先用鼠标点击一下某单元格再输入即可,按Tab键或回车键可快速进入下一个单元格中,按上下左右箭头键也可快速在不同单元格中切换。
序号字段选择的是自动编号类型,这里不用手工输入,软件会自动按顺序填写数字的;购买日期字段选择的是日期/时间类型,比如输入“04/10/2”或“04-10-02”,它都会自动转换成标准格式“2004-10-2”;定价字段选择的是货币类型,输入数字回车确定后,会自动加上符号“¥”(见图3)。
小提示
文本与备注类型,都是用来保存字符信息的,不过文本类型最多能保存255个字符,而备注类型最多达到6万多字符,大家可根据字段的属性进行选择。
第五步:图书的类别,各人可根据自己的实际情况划分,比如笔者将自己的所有图书大致归为计算机、文学、艺术、英语、饮食、哲学、历史、娱乐休闲、其他共九大类。对于这些项目有限的数据,可以将其制作成列表,输入时只要用鼠标选一下就可以了。
(1)双击“使用设计器创建表”创建一个新的数据表,命名为“分类”,只设置一个字段:类别名称。保存时会提示你设置主键,单击“否”不设置。关掉设计视图,双击打开该数据表,如图4所示分别输入图书的类别。
(2)在数据库主窗口右侧点选“图书基本信息”表,再单击“设计”按钮进入设计视图窗口。点击该表中“图书类别”字段,然后点击字段属性下面的“查阅”选项卡,点击“显示控件”后面的输入框,在下拉列表中选择“组合框”,然后将“行来源类型”设置为“表/查询”,再点击“行来源”后面的输入框,从下拉列表中选择刚才建立的“分类”表。
(3)按Ctrl+S键保存,再单击数据库主窗口上的“打开”按钮进入数据表视图窗口,此时再点击“图书类别”字段,会显示一个下拉按钮,单击它弹出列表,点选相应的图书类型就可以了,非常方便(见图5)。以同样方法还可以为其他字段设置下拉列表,比如介质可设置为“纸质”、“CD”、“硬盘”项,创建一个名为“介质”的新表,再按上面的方法把它与“图书基本信息”表中的“介质”字段绑定就可以了。
用窗体给数据穿上漂亮的外衣
当需要输入的数据量很大时,在表格中输入既不方便也容易出错。这时可借助Access的窗体功能,使数据输入更为直观、方便。
第一步:在数据库主窗口左侧单击“窗体”按钮,然后在右侧双击“使用向导创建窗体”打开向导窗口(见图6)。在“表/查询”下拉列表中选中“表:图书基本信息”,然后单击中间的“>>”按钮将“可用字段”中的所有字段都加到“选定的字段”中。
第二步:单击“下一步”,接下来的窗口用来设置窗体的排列方式,这里就选择“纵栏表”。再单击“下一步”,选择窗体的显示样式,笔者觉得“混合”样式比较好看,所以选择了该项。继续单击“下一步”,为窗体指定一个标题,这里用默认的“图书基本信息”就可以了。最后单击“完成”按钮,结束窗体的创建。
第三步:默认情况下创建完成后窗体即会自动打开,就可以输入数据了。也可以在数据库主窗口的“窗体”项中,双击刚才建立的窗体打开它。如图7所示,在这样的界面中输入数据是不是方便了很多。按Tab键、回车键、上下左右箭头键可以在各个输入框中快速切换。输入完一条记录后,会自动进入下一条记录,也可以通过它下面的多个导航按钮在所有的图书记录中进行浏览、修改。
查询:获得问题的答案
数据库的特长就在于它的快速检索功能,在Access中通过设置条件,可以快速查找出符合要求的图书记录,比如2003至2004年买过什么书,30到40元之间的都有哪些书,某个出版社或某位特定作者的书等。下面以找出藏书中所有英语类的图书为例,一窥Access强大的查询功能。
第一步:在数据库主窗口左侧单击“查询”,在右侧双击“在设计视图中创建查询”项。将会显示查询设计视图窗口,并且会弹出一个“显示表”对话框。点选前面创建的“图书基本信息”表后单击“添加”按钮将其加到查询设计视图中,最后单击“关闭”按钮退出“显示表”对话框。
第二步:如图8所示,单击“表”行的单元格,从下拉菜单中选择前面创建的“图书基本信息”表,然后单击其上的“字段”行单元格,选择该表中的“书名”字段,确保“显示”行的复选框为选中状态,表示这个字段在最终的查询结果中将显示出来。以同样的方法添加其他想要显示的字段,最后再加上“图书类别”字段,取消其“显示”行中复选框的选择(最终查询结果将不显示该字段),并在“条件”行输入关键词”英语”(英文双引号),表示筛选出该字段值为“英语”的所有记录。
第三步:按Ctrl+S键保存,第一次保存会弹出“另存为”对话框,输入查询名称(如“英语书”)后确定。关掉查询设计视图窗口,会发现查询列表中多出了“英语书”一项,双击它就会惊奇地发现,数据库中图书类别为“英语”的图书记录都显示出来,并且每个记录只显示出我们所关心的那几个字段。
以后你在数据表中追加更多的记录时,随时双击刚才所创建的查询“英语书”,它都能找出所有英语类别的书来。当然,查询只是对数据表中的数据进行重组而已,它本身并不会改变表中的数字。
第四步:如果你觉得查询结果显示太老土,可以用窗体的形式来显示结果,制作方法与前面的一样,只是在“表/查询”下拉列表中一定要选中“查询:英语书”项。
本文只是一个简单的实例,主要是为了打破你对Access的陌生感,其实有很多功能我们都没有涉及到,比如打印报表、生成网页数据库以及使用VBA编程实现更多更复杂的功能等。以后有机会,我们会介绍更多Access方面的有用实例。