




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、罗斯文数据库案例,1,专业课堂,1.罗斯文数据库简介,罗斯文库是Access自带的示例数据库,对该案例学习,能对数据库的表、关系、查询、报表、窗体、切换面板等内容有个全面的了解。 罗斯文公司的业务流程:罗斯文公司是一个虚构的商贸公司,该公司进行世界范围的食品的采购与销售。罗斯文公司销售的食品分为几大类,每类食品又细分出各类具体的食品。这些食品由多个供应商提供,然后再由销售人员售给客户。销售时需要填写订单,并由货运公司将产品运送给客户,罗斯文案例,2,专业课堂,1.罗斯文数据库简介,罗斯文案例,3,专业课堂,2.表设计,设计表,表的设计思路就是将数据分类,同一类的数据放在一个表中,并且有一个字段
2、与其他表之间建立联系。而且要尽可能的细分,以最大限度的保证每个表中不存在重复的数据资料,罗斯文案例,4,专业课堂,2.表设计,比如说销售订单吧,肯定要记录客户的具体资料如名称、地址、电话等方便联系;还要记录订单的日期,运费等;以及每张订单中都有哪些具体的产品、数量、价格等信息。如果我们把这么多信息记录在一张表里的话,那就要录入许多重复的信息,比如客户的资料,不仅很麻烦还很容易出错。 所以应该细分为客户表专门维护客户的信息;订单表记录订单的日期,运费;订单名细表记录具体的产品数量及价格;另外还需要产品表、供应商表、雇员表、运货商表及类别表,罗斯文案例,5,专业课堂,3. 数据类型及字段属性,文本
3、 数字 日期 备注 货币 等数据类型(数据类型相关知识见教材-P30、P134,罗斯文案例,6,专业课堂,3. 数据类型及字段属性,罗斯文案例,7,专业课堂,4.具体表的设计,罗斯文案例,8,专业课堂,4.具体表的设计,供应商ID”字段。这是一个自动编号类型的字段,在表中具有唯一性,一般的我们设计的表中都需要一个唯一的不重复的字段,我们可以把该字段设为主键,该字段将会用于与其他表之间建立关系,罗斯文案例,9,专业课堂,4.具体表的设计,表中的大部分字段都是文本类型,大小可以根据实际要输入的内容来设置,比如城市,地区的字段设为,而地址的字段大小是。采用合适的大小会尽可能的减少存储空间的占用。一般
4、不需要进行数据计算的字段我们都用文本类型来存储。 公司名称和邮政编码字段的索引属性为有(有重复)也即唯一索引为否,主要是为了通过索引加快对这两个字段的查询等操作,有重复说明该字段中的数据是有可能重复的,比如两个公司在同一地区,那邮政编码就是一样的,罗斯文案例,10,专业课堂,4.具体表的设计,图片字段的数据类型是OLE对象,OLE对象在表中不能直观地看到图片,如果要查看图片可以在字段上双击,如需插入,则在图片字段上单击右键,选择“插入对象”,再从对话框中选择“由文件创建”,浏览到所需图片,也可以链接对象,这样只是保存了链接地址,不会直接把文件插入数据库,罗斯文案例,11,专业课堂,4.具体表的
5、设计,罗斯文案例,12,专业课堂,4.具体表的设计,产品表中, “中止”字段的数据类型是“是/否”型,这对于处理两选一的结果最为合适; 重点来关注一下“供应商ID”和“类别ID”,这两个字段都是数字类型,分别对应“供应商”表中主键和“类别”表中的主键。先来看下“供应商ID”,这个字段的标题属性中填的是“供应商”,这样在数据表视图中,看到的字段标题就会是“供应商”,而不是默认的“供应商ID”。另外这两个字段都是查阅列,这是一个很有用的属性,我们对“供应商ID”作一下详细的讲解,“类别ID”与“供应商ID”的设置方法相同,罗斯文案例,13,专业课堂,4.具体表的设计,罗斯文案例,14,专业课堂,4
6、.具体表的设计,在表中输入数据时,经常会遇到需要重复输入的内容,比如人员的性别为“男”或“女”,这是单表中的重复录入;比如产品表中需要输入“供应商”,而“供应商”字段在“供应商”表中已经录入过了,这属于跨表的重复录入。这些内容如果直接录入不仅花费了用户较多的时间,而且极容易出错。为了方便用户录入重复性的数据,可以借助ACCESS提供的查阅列的功能,罗斯文案例,15,专业课堂,4.具体表的设计,如果“行来源类型”是“值列表”,直接输入即可,如“男;女;”如果“行来源类型”是“字段列表”,可单击右侧的下拦箭头,选择某个表,以该表中的字段名称作为列表框或组合框中的数据,罗斯文案例,16,专业课堂,4
7、.具体表的设计,绑定列在列表框或组合框中进行选择时,所显示出来的数据并不一定就是存储在该字段中的内容。在“绑定列”中设置的列中的值才是表中真正存储的值。列数在列表框或组合框中所显示的列数,可以同时显示表中的多列。列标题用字段名称,字段标题或首行数据作为列表框或组合框中列的标题。如果在列表框或组合框中同时显示多列时,加上标题方便识别各列的内容,罗斯文案例,17,专业课堂,4.具体表的设计,列宽列表框或组合框中有多列时,可指定每列的宽度,每列宽度之间以英文分号分隔。如列数为3列,则可设列宽为:2;2;2,系统会自动加上cm单位;如果某一列无需显示,则列宽设为0即可。如:0;2;2。列表行数是指在组
8、合框中一次最多可以显示的行数,其余的数据需拖动滚动条查看。列表宽度在组合框中,列表框部分的宽度,可以设为“自动”,也可以设为数值。限于列表在组合框中,如果允许输入除列表框中值以外的数据,则选择“否”。如果值必须为列表中的一项时,则选择“是,罗斯文案例,18,专业课堂,4.具体表的设计,罗斯文案例,19,专业课堂,4.具体表的设计,客户”表设计视图的查看可以发现表中的“客户ID”字段与前几个表中的ID字段不同,没有采用自动编号的数据类型,而是用了文本类型,长度为。这个“客户ID”字段也是作为主键的,也就是说不允许在该表中输入重复的客户代码。在“客户ID”字段中还设置了“输入掩码”的属性,“LLL
9、LL”,“”是将所有输入的字符自动转为大写,这样在输入时就不用理会大小写,“L”代表字母A-Z,是必选项。这样设置的意思就是在“客户ID”字段中必须输入5个字母,不能输入其他的字符或者少一位。 “输入掩码”可以帮助客户准确地输入数据,避免不必要的错误,罗斯文案例,20,专业课堂,4.具体表的设计,罗斯文案例,21,专业课堂,4.具体表的设计,雇员ID”是自动编号的主键,“出生日期”是“日期/时间”类型,它的“格式”属性是“yyyy-mm-dd”,表示显示时的格式,“有效性规则”属性是“Date()”,Date()是个日期函数,取的是系统的当前日期,这样设置防止由于疏忽而输入比当天还大的出生日期
10、。 “照片”字段采用的是“文本”类型,查看一下记录会发现,记录的只是照片的文件名字而已,这和“类别”中的“图片”字段是有区别的,这也是一种记录图片信息的方法,将来图片在窗体中的显示可以通过加载文件路径的方式来处理。这样处理要求存放图片的路径与图片名称不能发生改变,一旦改变在窗体中就会无法显示出照片,这是与OLE类型的对象不同的地方。 “上级”字段记录的是某个雇员的上级主管是谁。由于上级主管本身也是公司雇员,因此上级主管的信息也会记录在“雇员”表中。为了避免录入时的重复输入,在此字段也设置了“查阅”属性,并且字段的数据类型是“数字”,说明在这一字段保存的是“雇员ID”的信息,查看“上级”字段的“
11、查阅”选项卡,显示控件为组合框,在录入时让用户以组合框的形式进行选择。单击“行来源”右侧的生成器按钮,进入查询生成器,罗斯文案例,22,专业课堂,1.罗斯文数据库简介,罗斯文案例,23,专业课堂,1.罗斯文数据库简介,罗斯文案例,24,专业课堂,5.表间的关系,ACCESS数据库是关系型数据库,与其他的关系型数据库一样,也具有三种常用关系:一对一关系、一对多关系和多对多关系。 一对一关系是指两个表之间的记录是一一对应的关系,这种关系用的比较少。 一对多关系是指A表中的一条记录,可以与B表中的多条记录相对应。如“类别”表中的“类别ID”与“产品”表中的“类别ID”就是一对多的关系,一个类别对应多
12、个产品。 多对多关系是指A表中的一条记录,可以与B表中的多条记录相对应,同时,B表中的一条记录也可以与A表中的多条记录相对应。一般的建立多对多关系时,需要一个中间表,通过中间表同时与两个表A、B之间产生一对多的关系,从而实现A与B之间的多对多关系。如“订单”表与“产品”表就是多对多的关系,一份订单中有多种产品,一种产品会同时出现在多种订单上,中间表就是“订单明细”表,罗斯文案例,25,专业课堂,5.表间的关系,建立了一对多关系的表之间,一方中的表叫“主表”,多方中的表叫“子表”;两表中相关联的字段,在主表中叫“主键”,在子表中称“外键”。 在建立了关系之后,打开表时,会发现最左侧多了一列“”,
13、单击“”号,可以展开另一个数据表,这就是主表中关联的子表。如果子表中还有对应于它的子表,则还可以进一步一层层的展开。这种关系应用在窗体中便是主子窗体,罗斯文案例,26,专业课堂,1.罗斯文数据库简介,罗斯文案例,27,专业课堂,1.罗斯文数据库简介,罗斯文案例,28,专业课堂,6.查询设计,一般的在表设计完成阶段以后就可以进行窗体的设计,然后再根据需要完善报表功能。在窗体与报表设计过程中会较多的使用到查询,一般的可以要据需要随时建立。此处,先说查询。 查询一般可以分为五种基本类型:选择查询,参数查询,交叉表查询,操作查询和SQL查询。用得最多的应是选择查询。可以结合罗斯文中的实例一起来学习一下
14、。罗斯文数据库中共有个查询,这些查询分别为窗体和报表提供了数据源,罗斯文案例,29,专业课堂,6.查询设计,罗斯文案例,30,专业课堂,1.罗斯文数据库简介,罗斯文案例,31,专业课堂,1.罗斯文数据库简介,去掉“中止”下面“显示”的勾,在条件一栏输入“no”,代表只查询出未被中止的产品,但只要显示产品的ID和名称就行了,是否中止的状态不用显示出来,罗斯文案例,32,专业课堂,7.查询中的表达式,表达式是许多 Microsoft Access 运算的基本组成部分。表达式是可以生成结果的运算符号和操作数的组合。例如,可以在窗体或报表的控件中使用下列表达式来显示“小计”和“运货费”控件的数值总和:
15、= 小计 + 运货费常见的运算符如算术运算符“=”,“+”,“-”,“*”,“/”;比较运算符“”,“=”,“”,“=”;逻辑运算符“and”,“or”,“not”;连接运算符“&”,“+”;及常用的!和.(点)运算符,罗斯文案例,33,专业课堂,1.罗斯文数据库简介,罗斯文案例,34,专业课堂,1.罗斯文数据库简介,罗斯文案例,35,专业课堂,1.罗斯文数据库简介,罗斯文案例,36,专业课堂,7.查询中的表达式,扩展明细查询: 查询的数据来自于“产品”表和“订单明细”表,查询结果按订单ID升序排列。 查询中的字段总价是个计算字段,总价为该字段的名称,计算表示用“订单明细”表中的“单价”乘以“
16、数量”后再乘以(1-折扣),相当于算出了打过折后的总价。字段中用到一个CCur()转换函数,它的作用是将数据转换为货币类型,另外表达式中用了先除以100,再乘以100,相当把数据还原,同时小数点后面保留两位小数。 此处可试试直接用CCur(订单明细.单价*数量*(1-折扣),得到的结果也是两位的,罗斯文案例,37,专业课堂,1.罗斯文数据库简介,罗斯文案例,38,专业课堂,7.查询中的表达式,订单小计统计出每个订单上各种产品的销售金额的总计金额,为汇总销售额等多个查询提供数据。小计: CCur(单价*数量*(1-折扣)/100)*100。本例到这里只是计算出了每个订单ID中每种产品的总价,而我
17、们要统计出的是每个订单ID中所有产品总价的和,所以我们要对订单ID进行分组,要用到“总计”行的功能,“总计”行默认是不显示的,可在设计窗体的下半部分右击鼠标,选择“总计”,或者单击工具栏上的按钮 ,这样都会多出一行总计来,在总计行,可从下拉框中对每个字段选择相应的操作,可以作为分组依据或条件字段也可以选择聚合函数或其他函数来对字段进行计算,如果要自己写表达式,则选择表达式。在本例可以把“订单ID”字段设成分组字段,对“小计”字段要进行求和,只要选成“总计”就可以了。罗斯文的示例中并没有选用“总计”的功能,而是对“小计”字段设成了“表达式”,而在表达式中加上了求和函数Sum(),大家可以比较一下
18、,用这两种方法生成的查询运行结果都是一样的,而SQL查询的语句也是一样的,罗斯文案例,39,专业课堂,1.罗斯文数据库简介,罗斯文案例,40,专业课堂,8.窗体设计,罗斯文案例,41,专业课堂,9.报表设计,窗体主要是为了实现数据的采集,而报表则是用于数据的显示输出或打印,在数据展示方面具有特长,可以对数据进行分组和汇总显示。 报表的构成:报表由控件和节组成,节又可分为主体节与页眉、页脚节。而页眉页脚根据对象的不同,再进行细分为报表页眉页脚、页面页眉页脚、组页眉页脚。如果有多个分组时,则按照分组级别进行嵌套。 主体节是报表的核心部分,凡是希望按顺序列出的数据,都应以控件形式放在主体中,一般用得
19、最多的控件便是文本框了。而如果希望作为标题、分类依据、汇总信息等则应该以控件的形式安排的页眉或页脚,罗斯文案例,42,专业课堂,9.报表设计,按汉语拼音顺序的产品列表”报表是按产品名称的第一个字来进行分组显示产品信息的报表。在报表中除了产品名称外,还列出了类别名称,单位数量和库存量的数据,罗斯文案例,43,专业课堂,1.罗斯文数据库简介,罗斯文案例,44,专业课堂,1.罗斯文数据库简介,罗斯文案例,45,专业课堂,1.罗斯文数据库简介,罗斯文案例,46,专业课堂,9.报表设计,在左上角的报表选择器 上双击,跳出属性窗口,首先看一下报表的记录源是“按季度汇总销售额”。 报表页眉中有一个标签,一个
20、文本框,文本框的值为“=Format(Date(),yyyy-mm-dd)”,按格式显示系统的当天日期。 页面页眉中只有一条水平线,每页的顶端都会打印一条水平线,罗斯文案例,47,专业课堂,9.报表设计,点击报表选择器,再右键菜单,看一下这个报表的排序分组会发现本报表进行了二层的分组嵌套,罗斯文案例,48,专业课堂,9.报表设计,第一个分组字段为一个表达式“=DatePart(q,发货日期)”,这个函数的意思为取发货日期中的季节,也即是按季节分组。第二个分组字段为发货日期,但分组形式不是每一个值,而是年。这里分别给我们演示了两种不同的用法,其结果是一样的。也就是说第一个分组字段,我们也可以设为
21、发货日期,然后把分组形式设成季即可。 “=DatePart(q,发货日期)”页眉中有一个文本框,值为“=DatePart(q,发货日期)”,代表季节,另个设置了几个标签。还加了四条直线作为分隔。发货日期的页眉为空,主体也为空,因为主体中一般列出的是满足分组条件的明细记录,在这里我们只要每一年度的一个合计数,所以内容在发货日期的页脚中。发货日期页脚中有三个文本框,内容分别为“=DatePart(yyyy,发货日期)”:将发货日期转换为位的年份数;“=Count(订单ID)”:用Count函数计算同每一年的订单ID数目;“=Sum(小计)”:用Sum函数计算各订单小计的合计数,也即是各年销售额。
22、“=DatePart(q,发货日期)”页脚中只有一条水平线,用于标识本组的结束,罗斯文案例,49,专业课堂,10.VBA简介,在Access应用程序中我们所用到的开发语言是VBA(Visual Basic for Application),VBA源自VB,是Office应用程序内置的程序设计语言。与Visual Basic 6.0有着相似的结构和开发环境。那么VBA在哪里写呢,在哪里来管理它呢,在Access中提供的开发环境就叫做Visual Basic编缉器,简称VBE,在Access中以Alt+F11的方式可以随时打开VBE。如下,罗斯文案例,50,专业课堂,1.罗斯文数据库简介,罗斯文案
23、例,51,专业课堂,10.VBA简介,VBA程序是VBA语言代码及注释的集合,一条语句是一个完整的命令,语句之间以换行符分隔,大多数情况下,一条语句就是一行代码,有时代码可能太长,为增加可读性,可以通过加上续行符“_”来分成几行续写。在续行符的前面要有至少一个空格符,另外需要注意的是续行符不能将一个独立的关键字、变量名等拆分到不同的行。除了正常的代码外,程序中还有一些注释,通过注释能增加可读性,也能方便二次开发及维护。注释可以用Rem加空格开头,也可以用英文单引号“”开头表示,以“”开头的用法比较常见。 VBA语句由规定的关键字及其他被赋予意义的单词组合而成。由单词等组成一个个语句。其中能实现某种特定功能的一段语句,为了在以后再次实现功能时不用重复书写,我们就把这些能实现特定功能的一段语句进行单独的封装,从而形成一个程序段,象这样的一个程序段称之为过程,罗斯文案例,52,专业课堂,10.VBA简介,sub过程与函数过程: Sub 过程() End sub 以上便是一个sub过程,以Sub加过程名及()开始,()中放置参数,如没有参数则保留为空以End sub 结束。函数过程也是一种过程,可以以Function加函数名开始,以End function结束。函数过程与sub过程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 软件设计师职场技能试题及答案
- 法学概论考试的重要性与复习计划试题及答案
- 四川省达州开江县联考2025届七下数学期末监测模拟试题含解析
- 企业经济环境与战略调整考题及答案
- 2025届内蒙古自治区海勃湾区数学七下期末经典试题含解析
- 软件测试中的自动化工具选择试题及答案
- 战略协同效应与风险控制的探讨试题及答案
- 掌握网络管理员考试重点的试题及答案
- 公司社会价值观与战略风险管理的相互影响试题及答案
- 企业资产配置中的战略选择与风险管理试题及答案
- 安全措施费使用计划
- 危险品运输事故的应急处理
- 少女乙女的恋爱革命全中文攻略
- 生鲜仓库管理制度
- 施工机具检查评分表
- 患者发生过敏性休克应急预案演练脚本模板
- 南京医科大学招聘考试《综合能力测试》真题及答案
- 中学生交通安全教育公开课一等奖市赛课获奖课件
- “财政大脑”系统集成项目需求
- 二次元影像测量仪作业指导书
- GB/T 679-2002化学试剂乙醇(95%)
评论
0/150
提交评论