罗斯文库是Access自带的示例数据库,也是一个很好学习教程。让我们一起来学习一下吧。通过罗斯文数据库的学习,能对数据库的表、关系、查询、报表、窗体、切换面板等内容有个全面的了解。我们做数据库开发,应该来讲是现实生活中一种管理思路的体现与高度概括。那么要构思之前肯定要对整个流程有个清晰的了解。那我们就先来了解一下这个罗斯文公司的业务流程吧。罗斯文公司是一个虚构的商贸公司,该公司进行世界范围的食品的采购与销售,就是通常所讲的买进来再卖出去,赚取中间的差价。罗斯文公司销售的食品分为几大类,每类食品又细分出各类具体的食品。这些食品由多个供应商提供,然后再由销售人员售给客户。销售时需要填写订单,并由货运公司将产品运送给客户。要打开“罗斯文数据库”,先启动Access,从“帮助”菜单选择“示例数据库”-“罗斯文数据库”即可。如你所安装的是精简版不带有示例数据库,那就从网上下载一个吧。罗斯文数据库示例下载:=3518图一注:本教程着重在实例讲解,不含最基本的一些概念及操作说明,如需学习基础教程请自己看书或参考其他教程。首先要做的事是设计表,表的设计思路就是将数据分类,同一类的数据放在一个表中,并且有一个字段与其他表之间建立联系。而且要尽可能的细分,以最大限度的保证每个表中不存在重复的数据资料。比如说销售订单吧,肯定要记录客户的具体资料如名称、地址、电话等方便联系;还要记录订单的日期,运费等;以及每张订单中都有哪些具体的产品、数量、价格等信息。如果我们把这么多信息记录在一张表里的话,那就要录入许多重复的信息,比如客户的资料,不仅很麻烦还很容易出错。所以应该细分为客户表专门维护客户的信息;订单表记录订单的日期,运费;订单名细表记录具体的产品数量及价格;另外还需要产品表、供应商表、雇员表、运货商表及类别表。“罗斯文数据库”中共有8个表,选中表,以详细信息的视图来查看各个表的说明,见图二。图二关于数据库的基本组成表,查询,窗体等及表的基本组成字段,记录等概念就不用再讲了吧。其中一些常用的知识将在示例中一起讲解。在表设计中重点要掌握的是数据类型、字段属性的设置与应用。一、数据类型的用法1.文本用于存储不需要计算的数字,文本、其他字符或组合内容。最多可存储255个汉字,英文或字符。2.备注用于存储长文本和数字。如注释或说明。最多可存储65536个汉字,英文或字符。3.数字用于存储要进行计算的数据。如库存量,销售数量等。4.日期/时间用于存储日期和时间,如出生日期,发货日期等。要注意日期型数据要注意分隔符的正确使用。以“-”,“/”分隔年月日,如“2007-01-10”,而“2007.01.10”这种格式是错误的。5.货币用于存储货币值,计算期间禁止四舍五入,精度较高。如单价。6.自动编号用于在添加记录时自动插入一个唯一不重复的编号,如员工编号等。一般用作主键。7.是/否用于存储二选一的数据,如“是/否”,“真/假”,“开/关”等。8.OLE对象用于存储一些用其他应用程序创建的对象,如WORD文档,EXCEL表格,图片等。如员工照片。9.超链接用于存储超链接。如网址,EMAIL地址。10.查阅向导查阅向导允许用户使用组合框或列表框选择来自其他表或来自值列表的数据。在表设计视图新增该数据类型的字段会启动向导进行定义。二、字段属性字段属性是指字段拥有的一些特点,不同数据类型的字段,属性也不尽相同,常用的属性如下:1.字段大小文本型字段,默认的大小为50;数字型字段,默认大小为长整型;自动编号的字段,默认大小也是长整型。2.格式格式属性决定了单元格中数据的显示和打印方式,所看到的并不一定就是表中所存储的。3.小数位数小数位数属性决定了在单元格中显示几位小数。如设为0,将不显示小数。4.输入掩码输入掩码属性决定了数据输入和保存的方式。5.标题标题属性影响着字段的显示名称,默认情况下,标题与字段名相同,也可以输入不同内容,在数据表视图中打开表时,将看到字段的列标题与标题属性相同。6.默认值在默认值中填入数据时,在新增记录时将自动将该值添加到相应的字段中。7.有效性规则有效性规则用于限制在字段中输入的数据,在数据录入后,自动检查是否满足有效性规则,如不满足则发出警告,不接受录入值。如在单价字段的在效性规则中填入:0,即可防止忘记填写该数据,或误填入负数。8.有效性文本在用户录入时如违反有效性规则时,系统会发出警告,而如果有效性文本中填入了内容,则在提示时,对话框中会显示有效性文本中的内容,替代系统的提示内容。9.必填字段必填字段如果设为是,那么在录入数据时必须在该字段填入相应的数据。10.允许空字符串字符串的概念是以字符形式存储的数据,一般要在字符串的两端加上英文的双引号,如”abc”等,而在文本和备注型的字段中,无需加入英文双引号,录入数据会直接作为字符串处理。如果允许空字符串设为否,将不允许输入空字符串。这里要注意的是空字符中””与空格字符串是不同的””,前者双引号中没有空格。11.输入法模式输入法模式可以设为开启或关闭,根据字段中是否要输入中文字,做好设置,可以避免录入人员在中英文输入法之间做切换。12.索引索引用于加快排序,查询和分组操作的速度。索引的值有3种,如果字段为主键,将自动设索引的属性为有(无重复),另外两种是有(有重复)和无。索引属性中只能设置单一字段的索引,如果要设置多字段索引,可在设计视图中,点击工具栏的索引(或菜单视图-索引),在索引框中设置。图三具体的用法及示例将结合罗斯文示例进行说明。表的具体分析:一、“供应商”表供应商表记录的是为罗斯文公司提供货源的厂商记录图四选择“供应商”表,单击“设计”按钮,进入表设计视图,表中的字段包括了常用的联系信息。图五我们重点来关注一下“供应商ID”字段。这是一个自动编号类型的字段,在表中具有唯一性,一般的我们设计的表中都需要一个唯一的不重复的字段,我们可以把该字段设为主键,该字段将会用于与其他表之间建立关系。表中的大部分字段都是文本类型,大小可以根据实际要输入的内容来设置,比如城市,地区的字段设为15,而地址的字段大小是60。采用合适的大小会尽可能的减少存储空间的占用。一般不需要进行数据计算的字段我们都用文本类型来存储。主页和Email之类的可以采用起超链接类型。查看该表中的索引图六可以发现公司名称和邮政编码字段的索引属性为有(有重复)也即唯一索引为否,主要是为了通过索引加快对这两个字段的查询等操作,有重复说明该字段中的数据是有可能重复的,比如两个公司在同一地区,那邮政编码就是一样的。另外我们在常规属性中除了字段大小属性以外,还有其他的一些属性,可以在相应的栏内点F1,查看相应的帮助。二、“类别”表划分类别是表设计时的必须要考虑的,因为不同类别的产品可能由不同的部门负责销售,为了方便统计出各类产品或部门的销售情况,须将产品进行分类。类别表中将产品分为8大类。图七选择类别表,点设计,进入设计计视图图八可以看到“类别ID”是自动编号类型,用作主键;说明字段,数据类型为备注,在实际操作中如果要说明的字数不会超过255个字符,可以采用文本类型,这样更节省空间。图片字段的数据类型是OLE对象,OLE对象在表中不能直观地看到图片,如果要查看图片可以在字段上双击,如需插入,则在图片字段上单击右键,选择“插入对象”,再从对话框中选择“由文件创建”,浏览到所需图片,也可以链接对象,这样只是保存了链接地址,不会直接把文件插入数据库。三、“产品”表产品表中保存了罗斯文公司销售的各种产品的明细数据。这个表清楚的记载了每个产品是属于什么类别,供应商是谁,库存量,单价等信息,是填写订货单时的重要依据。图九选中“产品”表,点设计,进入设计视图“产品ID”是自动编号类型的主键;单价,库存量,订购量,再订购量字段中设置的有效性规则与有效文本性文本属性,可以学习一下;“中止”字段的数据类型是“是/否”型,这对于处理两选一的结果最为合适;重点来关注一下“供应商ID”和“类别ID”,这两个字段都是数字类型,分别对应“供应商”表中主键和“类别”表中的主键。先来看下“供应商ID”,这个字段的标题属性中填的是“供应商”,这样在数据表视图中,看到的字段标题就会是“供应商”,而不是默认的“供应商ID”。另外这两个字段都是查阅列,这是一个很有用的属性,我们对“供应商ID”作一下详细的讲解,“类别ID”与“供应商ID”的设置方法相同。查阅列我们在表中输入数据时,经常会遇到需要重复输入的内容,比如人员的性别为“男”或“女”,这是单表中的重复录入;比如产品表中需要输入“供应商”,而“供应商”字段在“供应商”表中已经录入过了,这属于跨表的重复录入。这些内容如果直接录入不仅花费了用户较多的时间,而且极容易出错。为了方便用户录入重复性的数据,可以借助ACCESS提供的查阅列的功能。图11首先来看下查阅列中的各项具体属性1.显示控件图12从显示控件右侧的下拉框中可以看到该属性可以设为文本框,列表框或组合框。如果设为文本框,那数据就只有接受从文本框中的录入,查阅的其他属性都不可用。我们主要要掌掘的是列表框和组合框的使用。组合框和列表框的使用基本相同,只是列表框除了可以从列表中选择还可以接受录入,相当于是列表框各文本框的组合。2.行来源类型图13行来源类型是指控件中的数据来自于何处。共有三处选择,表/查询,值列表,字段列表。如果选择“表/查询”,则列表框或组合框中的数据将来源于其他表或查询中的结果。如果要录入其他表中已经存在的数据,或录入从几个表中查询得到的结果,用这个选项最为方便。如果选择“值列表”,只需在行来源中直接输入列表中的数据,并用英文分号隔开即可。这种类型只适合于输入的内容固定在某几个值之间,如性别的值可以是“男”或“女”。如果选择“字段列表”,该字段中将填入某个表中的字段名称信息。这种类型较少用到,“表/查询”的使用就包含了这种简单的用法。3.行来源“行来源”中是列表框或组合框中将要列出的数据。如果“行来源类型”是“表/查询”,可单击“行来源”右侧的下拉箭头,选择某个表或查询,以该表或查询中的数据作为列表框或组合框中的数据。如果没有直接的查询可用,也可以单击右侧的生成器,在查询生成器中直接创建SQL语句。如果“行来源类型”是“值列表”,直接输入即可,如“男;女;”如果“行来源类型”是“字段列表”,可单击右侧的下拦箭头,选择某个表,以该表中的字段名称作为列表框或组合框中的数据。4.绑定列在列表框或组合框中进行选择时,所显示出来的数据并不一定就是存储在该字段中的内容。在“绑定列”中设置的列中的值才是表中真正存储的值。5.列数在列表框或组合框中所显示的列数,可以同时显示表中的多列。6.列标题用字段名称,字段标题或首行数据作为列表框或组合框中列的标题。如果在列表框或组合框中同时显示多列时,加上标题方便识别各列的内容。7.列宽列表框或组合框中有多列时,可指定每列的宽度,每列宽度之间以英文分号分隔。如列数为3列,则可设列宽为:2;2;2,系统会自动加上cm单位;如果某一列无需显示,则列宽设为0即可。如:0;2;2。8.列表行数是指在组合框中一次最多可以显示的行数,其余的数据需拖动滚动条查看。9.列表宽度在组合框中,列表框部分的宽度,可以设为“自动”,也可以设为数值。10.限于列表在组合框中,如果允许输入除列表框中值以外的数据,则选择“否”。如果值必须为列表中的一项时,则选择“是”。示例:在“产品”表中,设置“供应商ID”字段的查阅列属性1.在数据库窗口中,选择“产品”表,单击设计,进入设计视图。可以在最后一个字段的下面的第一个空白行,输入新字段名称“供应商2”,设置完相关属性后,可以与“供应商ID”字段进行比较。数据类型改为数字,在这里说明一下,在表中相关联的两个字段的数据类型必须相同,而且字段大小也要相同。在本例中因为在“供商表”,“供应商ID”字段是自动编号类型,自动编号的字段默认大小是长整型,所以在这里“供应商2”的数据类型必须为数字,字段大小为长整型。