Access数据库: 手把手教你设计一个完整的数据库~

Orijinal Video İçeriğiVideoyu Genişlet
  • 感谢继续关注上一期的视频
  • 本期视频教大家如何综合查询、运用报表
  • 我们会回顾前期提到的几个功能
  • 包括进货、销售、库存更新、供应商信息管理
  • 数据统计
  • 各功能分权限管理

感谢继续关注上一期的视频已经教大家从需求分析做到了咱们的建表录数据。然后这一期的视频呢要教大家如何综合的去运用查询、运用报表、创体以及红来实现咱们需要的功能。

好话不多说,直接来看操作。

好,首先我们需要回顾一下上次做需求分析提到的这几个功能。首先是进货,然后是销售,库存更新,然后是供应商信息管理,固件信息管理以及数据统计。

通常情况下做这样一个系统的话是会分权限的。比如说咱们上面的录入、数据库存更新这个就交给普通的员工来做。然后下面的信息管理以及数据的统计,就是说你要去统计挣了多少钱,哪个雇员他的销量、销售情况怎么样,这个是交给管理员。也就是说,管理员他拥有的是管理的权限。然后咱们这个普通的员工他拥有的是普通的录入、修改啊这种,这种功能修改都不一定有。

首先我们把这个进货和库存更新会比较难,所以我们先来做下面的管理员的部分。管理员部分的话,这个地方首先是供应商及产品信息的管理。

好,还是上次这个数据库。如果你之前学过关于创体的这个知识呢,应该知道有几种方式可以创建创体。首先我来讲一种非常便捷的方式,就是首先我们得确定供应商和产品,它形成了一对多的关系,并且关系设置已经完整。直接点击供应商,也就是主表,点击窗体。

这个时候它会自动创建这么一个主窗体加子窗体的这样一个窗体。好,我们可以把名字改一下,供应商集产品信息管理。对吧,既然是要管理呢,咱们这样打开能去管理它吗?可能是不太方便,对吧?而且这样的窗体说实话是真的有点丑,所以我们需要打开设计师图放大。

然后在咱们的这边,可以把弹出方式这个地方记住是窗体的属性,选中窗体不要什么主体之类的,这个地方弹出方式改为是,然后咱们把下面的,当然这个地方你根据你的需要你改就改,不改就也行。咱们的导航按钮改为否,咱们的记录选择器改为否,保存以后我们再看一下这个效果会是什么样的。

它就是这样一个窗体,然后下面的可以这样查看。当然下面这个紫窗体的数据表,咱们是可以通过双击,就像Excel表里面的一样,双击它会自动这样缩小。

好,接下来要做什么?想一下,如果我们就这样打开,它是完全不能够对数据进行管理的。这个时候我们就需要添加按钮了,把这个拉宽。然后在设计视图这个地方的设计工具找到按钮,然后单击一下。

咱们记录操作有记录导航,导航指的是就是你去翻这个记录。比如说咱们有一个转到前一项记录,可以选择文本,也可以选择图片。这个地方我直接选择图片,然后咱们把下一项记录也添加进去,转到下一项记录直接点击完成,它是默认为图片的,这个地方当然可以选择文字,你可以自己尝试一下。转到第一条记录,最后还有一个转到最后一条记录。

当咱们把这个都添加完整之后,你如果觉得它比较丑,可以选中这样拉选中之后开始这个地方可以对它的背景颜色进行改变,比如说我们改为这样。然后这个地方可以对它里面的这个颜色进行改变,这个好像改不了,就这样。你如果觉得这个还是丑,可以根据自己的要求来改。

然后除了这个翻页的功能以外,咱们还可以添加。首先试一下这个翻页的功能,它可以这样翻看记录,然后翻到第一条翻到最后一条。

然后我们还需要,既然是管理嘛,肯定需要增删改,对吧?所以这个地方我们需要记录操作选择。比如说第一个咱们选择一个添加新记录,文本完成。然后咱们还可以来一个删除这条记录,同样是记录操作,删除这条记录。

当你把你所有需要的这些,我再添加一个保存记录。保存记录就是你修改之后点击保存,它会自动保存你刚才的修改。当你把所有的这些都添加之后,你再根据你的审美或者其他需求去进行一定的美化或者说改一下它的颜色,这个地方我就不改了,这就是一个简单的管理的窗体,咱们是可以对这些数据进行管理的。

然后咱们点击一个添加新记录,它会跳到这样一个界面。然后如果我想要对原有的供应商下面的信息进行管理,我就直接这样翻页就行了。

当然,如果你觉得咱们的,如果信息真的实在是太多太多,你这样一页一页去翻不行的话,这个地方有一个小技巧,就是咱们把这些东西往下拉。然后在这个地方设计视图,咱们找一个这个组合框点一下,然后下面点出来选择在基于组合框或选定的值而创建的窗体上查找记录。它的作用就是待会咱们要查找记录。

好,选择的是名称,它这个地方是自动选择的,因为你这个窗体它的主要数据来源就是这个供应商表。咱们选中这个名字之后,然后完成。完成之后这个地方可以根据你的需要选择供应商去把它进行一定的设置。然后设置完成之后我们看一下效果。

这个时候假设我要去找华为,我就直接要修改华为的内容,我直接点选华为,然后就去修改就行了,苹果,然后小米。

当然也可以借助这个按钮,刚才说过了会比较麻烦。这是一个简单的信息管理窗体,然后咱们还有一个雇员信息管理,对吧?这个同样的方式,咱我就不说了,比如说我以另外一种方式创建窗体,咱们首先窗体设计,然后给它命名为雇员信息管理。

这个和刚才的创建方式有一点区别,设计,然后在属性表这个地方咱们给它的数据源绑定为记录源,绑定为咱们的雇员。然后打开设计视图的这个设计功能,然后添加现有的字段。这个时候因为我们已经绑定了它的数据源,所以你现有的字段,它就是从雇员表里面的,咱们把需要的这些字段都放进去。

放进去之后,因为它这个固原好像没有和其他的表形成一对多关系,而且它即使是形成关系也是订单啊,也是这个进货记录,所以这个地方是没必要把它做成竹子窗体的。这个地方同样咱们可以运用刚才的方法,你会,如果细心一点,你会发现这个地方是没有窗体页媒,对吧?

咱们可以打开它窗体页媒,右键单击打开它,然后把这个复制粘贴过去。虽然它自带的这个确实很丑,但是拿过去来也好,比空白的好一点。然后这个地方的文字是可以改的,做到这样就行了吗?

刚才我们是不是这个地方的属性也没有改,当然我是习惯改这个东西。 如果你觉得不改,也行,那也没关系。

好,现在初步看到的是这样一个窗顶。还需要完善完善什么?刚才我们的按钮对吧?这个地方我们就不用一个一个添加了,因为它是同样的功能,所以咱们就直接复制粘贴过来。这个就是一个小技巧。

然后同样的我们可以在这个地方增加一个这个框。好,这个地方就不增加了。然后这个是第二个窗体管理信息,可能会看起来特别丑。然后大家自己做的时候可以再对它进行排版,比如说这个放在哪个位置,这些放到哪个位置,然后用什么样的颜色。

好,接下来是应该还有人会问我这个主子窗体怎么创建?假设我是单用这个,我直接把这个复制粘贴过来吧,就叫供应商主。然后我把它的自带的这个子窗体给它删去。删去之后咱们看到的是这个样子,对吧?

好,然后我打开它的设计视图,要添加一个子窗体的话,在设计工具这个地方有一个子窗体、子报表,然后点击一下。到这里,然后使用现有的表和查询,因为我没有去创建它的子窗体。然后找到我们的产品表,它自动已经默认了。如果它不是这个表的话,你可以去选择,然后把想要的展示的字段内容都放过去。

然后下一步,这个地方它是对供应商中的每一个记录用供应商ID来显示产品,就默认这个是没有问题的。如果你看过我之前讲的一个参数查询窗体的话,我之前选择无,对吧?因为那个跟这个不一样的是,那个是条件查询,是绑定了这个输入的文本框内容,所以他要选择无,然后用另外一个窗体刷新的那个按钮来。

然后咱们这个地方是因为它上面的主创体和下面的子创体,它的字段是连接在一起的,它会自动的同时更新。比如说上面的供应商ID更新了,它下面的内容是同样跟着更新的,所以这个地方要选择不要选择无,下一步产品子创体默认就这样。

然后完了之后,咱们先运行一下看一下它的视图,很丑可以适当的进行排版,可以把这个拉上去一点,给它弄小一点,没必要用这么高的高度。然后给它拉过来一点,这个标签是可以删去的,我觉得很丑,一般都会删去。

然后我们再去运行这个窗体,是这样一个效果。然后你会发现咱们外面的窗体是没有这些什么边框,没有什么记录选择器导航按钮,但这个地方有,怎么办这个时候我们不能够通过更改主窗体的属性来更改。我们需要做的是更改子窗体,打开紫窗体的设计示图,双击换出属性表,双击这个灰色部分换出属性表。

弹出方式这个地方是不用改的,因为它是嵌入到这个主窗体里面,所以是不用改,它不会单独弹出来。我们只需要把记录选择器、导航按钮给改了一下,这个滚动条呢,通常子窗体可能会用到,所以我也不需要改。然后现在我们看到的就是这样相对来说比较正常的一个窗体。

好,这个信息管理呢,咱们就做到这个地方,嗯,其他的应该没有什么特别要讲的。然后接下来是,不行了,我先歇会一会再接着录。哦,刚才我们是做了一个信息管理,对吧?两个信息管理,然后接下来要做数据统计。这个数据统计的话,目前能想到的有,比如说销量,比如产品的销量统计。

我要统计某一个时间段哪些产品,它的销量是多少,比如说A产品卖了多少个,B产品卖了多少个,这个是产品销量的统计。然后是比如说有利润的统计,比如说咱们有雇员的销售额统计。这个地方需要用到我们的统计查询,我们来做第一个产品销量。

想一下,产品它的销量是怎么来的?我们来看这样几个表。首先你要确定某一个产品它的销量的话,你是不是要确定它在这个订单当中?比如说咱们的订单一,然后它销售了多少多少个,对吧?所以这个时候是需要用到一个统计查询去统计它每个订单当中它销售了多少,然后某一个时间段它又销售了多少。

好,然后咱们创建一个统计查询,把需要的字段都、把需要的表先放进去。想一下我们要统计的是某一个产品的销售量,对吧?所以我们得把产品ID放进去。对吧,如果需要的话,名称也可以放进去。

然后设计,设计这个地方点一下。点击汇总,因为我们需要用的是统计查询,然后接下来我们想一下它根据的是什么。你要不就是根据它的订单,订单量觉得订单量这个东西是不准的,因为可能它一个订单里面,这个产品卖出了很多个,而其他的订单里面它一个一个产品只卖出了一个、两个、三个。

所以这个地方其实我们是需要用到的是数量。然后这个统计查询,不知道大家有没有学过。这个地方简单讲一下,就是这个地方的总计,它group by就是以产品ID来分组,然后以名称来分组,这个地方是没有问题的,因为咱们的一个产品ID对应的就是一个名称,然后以它来分组是完全没有问题的。

然后刚才我们说是要用这个数量来,对吧?你要统计的是它的销量的话,你这个数量咱们得用什么?得用技术呢?还是得用合计,得用合计,对吧?它是把它每一单的销量加起来,比如说咱们这一单销量了五个,然后下一单销量了三个,它是把这个5加3加起来。

然后如果我们这个地方用的计数的话,它就只算你有多少单,也就是刚才的5加3,它不是按5加3来算,它是按照一单加一单来算。这个地方咱们把前面这个数量给他字段给他命名一下,叫销量销售量吧,然后英文输入法输入一个冒号,这样就没问题了,对吧?

好,我们保存一下试试。好,这个是所有的订单。咱们看订单里面有这么多的订单,然后订单详情里面没有包括七和八,所以这个地方只有统计了一到六,咱们的排行是这样的。

然后可以简单在这个地方销售的这个地方排序给它排为降序。这样的话就一目了然哪个产品卖的最多,哪个产品卖的最少。

当然,如果你需要做的是,我要去统计某一个时间段,具体比如说从5月1号到5月5号,它哪些产品卖出了多少,这个时候咱们就需要加一个时间的限定条件,打开设计师图,把这个订单的日期放进去。

然后这个地方咱们要选择什么,选择where,就是它限定的条件。这个地方就要用到之前我们讲过的一个条件语句了。我先把这个放大,它用的是BETWEEN。

好,我们来看一下这样的效果是什么样的,点击它会提示你输入期时日期,比如说我们输入20年5月2号到20年5月25号,看跟刚才的查询结果不一样,对吧?现在是123。咱们再次运行一下,比如说我从20年5月6号到20年5月15号,这个地方就是713,而且其中有一个产品是没有卖出的,所以这个就比较灵活,可以根据你输入的时间。

因为想一下你现实生活当中,你不可能说每次统计你都要去把你从开业的第一天的到最后一天啊,然后你的所有的这些记录你都统计进去。你实际上你需要的是一个某一个时间段,比如说我上个月统计的是上个月的,然后这个月我肯定要统计这个月的,对吧?如果有需要的话,我可能说上个月这个月加起来一起统计。

所以这个地方无论你要统计的是哪个时间,你只要加了这样一个限定条件的话,它就是一个很灵活的处理。好,这个地方我们可以通过什么样来实现呢?可以做成一个报表,对吧?好,这个地方就开始讲报表了。

第一个非常简单的办法就是点击这个查询,然后直接创建一个报表,这个地方直接回车不用管它。然后咱们保存了之后,可以是某个时间段,产品销量,产品销量,对吧?好,这个地方就是20年,比如说我们要从20年5月1号到20年6月2号是这样的。

然后你会发现刚才明明我们这个地方查询的时候它是降序排列,这个地方为什么不降序呢?因为我们在创建报表的时候,它没有排序,它默认的就是按照产品ID来排序。

所以我们需要把分组这个地方打开,现在已经打开了,添加排序用我们的销量,然后选择降序来排。这个地方如果你觉得这样展示还是比较丑什么的,再运行一遍啊,5月2号到20年5月2号这个日期我就随便输入。

好,这个地方刚才我们的降序已经弄好了。好,如果你觉得你把这个报表打印出来,你打印出来你不知道它的时间,咱们该怎么办?咱们可以在我把这个时间拖拽到直接删了吧这种自动生成的你就没办法去怎么样去改。

这个时候我这个地方教一个比较实用的小技巧,我们设计添加文本框,然后这是添加的第一个文本框。

我给它这个标签标题改为字聪明的人应该知道我要干嘛。好了接下来是倒什么什么。然后再添加一个文本框,再添加一个标签。我把这些所有的字体都给它改大一点,因为实际上标签的话,不是标题的话通常会用的比较大字什么,然后到什么的产品销量。

这个地方如果我们就这样保存呢,我们运行一下试一试。好烦,每次都输入这个,它就是这样两个空白的框框。所以我弄它来干什么用呢?这个地方实际上是需要绑定一个东西,绑定什么呢?

想一下我们要在上面显示的日期,是不是就是我们刚才输入的参数,就是我们输入的日期。所以是自起始日期到结束日期的产品销量排行。这个地方为什么要加方括号呢?我先运行一下待会再跟你讲好看,我输的5月1号到6月1号,然后我再换一个时间20年5月2号到20年6月12号,看这个地方就变了,对吧?

然后我再次打开设计视图讲一下这个地方为什么是方括号加。其实日期这个地方就要涉及到刚才我们的查询,查询里面是包括了这样的参数,对吧?这样的参数,对吧?所以刚才我们在报表里面引用的实际上就是这个一模一样的,只是我把它放到了两个文本框里面。

好,这个就讲完了。接下来我们看一下产品销量讲完了,接下来是雇员的利润统计。利润是怎么来的呢?利润是咱们的产品的单价减去净价,然后再乘以它的数量,对吧?所以这个地方我们同样的是先要做一个计算查询,统计查询。

这个地方咱们需要把产品放进去,订单也放进去,订单详情也放进去。嗯,订单详情其实应该不是很需要,需要吧?我们可以先统计某一个订单它的订单额,然后再去统计,就是总的来统计它的那个什么,统计它的那个就是利润额。

好,首先我们把订单ID放进去,然后这个地方点一下汇总。我们以订单ID来汇总,比如说我们的第一个订单,它的订单利润,吧就叫订单利润等于什么,想一下,刚才我们说的是单价减去净价,然后再乘以一个数量,对吧?

好,我放大单价减去净价就等于它某一个产品的利润,然后再乘以它卖出的数量,乘以它卖出的数量。之后这个地方我们应该怎么办?

单价没毛病。哪个地方错了,减去进价乘以数量,这个括号好像是输错了,得用半角符。所以这个地方它报错是因为我刚才是用的中文输入法来输入的,这个地方一定要注意。

好,我们选择合计,它计算的就是某一个订单,它的所有的产品卖出去的利润的总和。好,这个地方咱们就是订,同样我们是可以加一个时间限定的。为什么呢?因为你不可能每一次统计你都统计的是从你开业第一天到你统计的那个日期吧,咱们需要的至少就是我需要指定哪个日期,我去统计它,对吧?

所以这个地方是实际上是设置同样的同样的条件,然后把这个地方改为where。然后再去保存它。保存的时候我们试着运行一下,这就是利润统计。这个订单多少,这个订单多少,这个订单多少,这个订单多少。

当然你可能会说你把每一个订单你都统计出来了,你为什么不把它总的统计出来呢?这个地方当然我不可能通过查询去统计出来,我需要做的是把它放到报表里面,然后用报表的那个组页角来统计。组页角可能有人又不知道了,待会儿详细说。

我还是用这个方法,啊不用这个方法吧。上一个功能我用的是点击这个点击这个查询,然后直接创建报表,对吧?啊,现在我可以通过报表向导来做利润统计,放进去,然后下一步,下一步,完成就是这样一个。

然后我又教大家一个偷懒的方法,我们这边引用的其实日期和结束日期是不是跟刚才我们查询用的是一样的。所以其实我们复制粘贴过来,然后把这个地方的文字改一下就好了。

好,我们接下来就运行一下试一试,它是一个什么样的效果?20年4月2号到20年5月2号是这样一个效果。对吧?订单1到8,它分别有多少钱。

总的咱们要如果要去计算总的需要设计把分组和排序打开,然后添加一个分组。咱们按照什么样分组呢?假如我是一个一个订单,它里面有下面许许多多的那个详情来细分来计算的话,我这个地方就用这个组来统计。

当然这个地方我并没有,因为我是按照这个订单来计算的,所以我们直接在下面的嗯页面页角这个地方就可以直接计算了。设计添加文本框,然后把前面的这个改为总利润,绑定呢,它就等于什么这个地方要用到一个函数总的等于什么等于sum,对吧?

然后中间括号。中间是它引用的字段。引用的是什么订单?当然我们这样做完之后是需要把这个属性给改一下的,因为它毕竟是什么?它毕竟是货币对吧?双击,然后在格式这个地方将它的格式改为货币。

然后我们再去运行一下试一试结果20年5月1号到20年5月20号,这个地方刚才为什么会报错呢?我们运行的时候它显示错误,对吧?因为我把这个统计,我放到了页面页角,实际上这种你要去统计它这个主体部分的,咱们是需要用到把它放到报表页角的。

然后我再给它这个地方排一下,然后我们再运行一下试一试,20年5月1号到20年5月18号,这个就是这一期间的利润统计,当然总的利润在这个地方。

当然你自己在做的时候肯定是需要进行一定的美化的,我以这个为例子给它美化一下,比如说你改一下它什么,这些标签的背景颜色,给它加个粗,然后看起来更清晰一些,啊,给它居个中,看起来更加协调一些,啊,这些都是一些美化的办法。

好,我就不详细说了。接下来还讲一下刚才说到了一个分组的问题,对吧?嗯,我想一下我从哪个地方来做,我就用供应商和他的产品来吧。比如说我直接用报表向导创建这么一个报表,供应商ID和供应商名称,我把供应商ID都去掉,直接供应商名称。

然后找到产品表里面的所有东西,所有字段全部放过去,供应商这个就不要了,返回去,然后下一步咱们是通过产品点一下,这样的话。然后可以添加一个分组,分组以什么分组供应商的名称来分组,点击完成。

然后我们看到的就是这样一个简单,简陋吧,不是简单简陋的这样一个报表。然后我去给它拍一下这个图片,我觉得每次放在这个地方都很占地方,而且报表的话通常用不到图片,直接把报表删去。

然后产品我们同样在这个地方进行一定的美化,这些东西都是可以改的,可以给它挪动位置,然后给它排一下。好了,然后咱们这个也可以给它改一下这个颜色,换一个吧。

然后我们现在看到的应该是这样一个报表。华为有这么多,苹果有这么多,小米有这么多。然后我想要知道这个华为,它提供了多少个产品,然后它的平均的进价是多少。我同样在下面这个地方添加计算字段,但是这个地方添加的和刚才我们添加到报表页角是不一样的。

因为咱们已经分组了,所以这个地方需要添加的是添加到这个地方,我们添加到分组以供应商分组对吧?我们把主页角给放出来,然后在主页角这个地方添加设计,然后把这个放进去。

产品数量我要统计数量的话,你想一下是通过什么样来统计什么样的函数,函数是通过一个Count对吧?来计数对吧, 通过产品ID来计数。好,这个是我们统计的产品数量,刚才提到了一个平均的进价对吧?哇,平均的话用的就是AVG了。这些基本的函数大家最好是一定要记得。

然后掌握的这个地方同样的,涉及货币的,我们都可以把它的格式改为货币,都是需要,不是都可以。然后我们现在看,本来应该还添加一个东西,但是现在不添加,等大家先看一下这个运行的结果。

好,三个产品,然后平均的是这样的一个产品,平均两个产品,平均是这么多。然后我看着这个报表还是有一点乱,所以这个地方我是可以添加一个直线来给它适当的美化一下,给它分开,点击属性表,把这个地方的这个线可以放一下,然后它的颜色可以改一下,你喜欢那个颜色,你就改那个颜色,当然以美观为准。

好,现在是每一个产品,它都用这个线给隔开了,所以这又是一个设计报表的办法。报表我就讲这么多了。

所以今天我们讲的是数据管理,就是信息管理这个功能。然后讲了几种办法来做。第一种是直接创建竹子窗体,然后去对窗体进行美化,第二种是先创建一个主窗体,然后再去插入一个子窗体,这又是一个办法。还有是咱们又讲了一个,直接新建一个空白的窗体,然后把需要的字段放进去,这又是一个办法。

好, 然后我在讲下面的数据统计的时候,是讲了先可以做查询。然后我在做查询的时候,是不是说了可以加一个时间限定,让这个查询变得灵活一些。然后在做的时候用到的是统计查询,对吧?然后下面最后就讲了一个这样一个简单的报表的排版,以及利用这个主页角来进行一些简单的统计。

好,今天就讲到这个地方,嗓子也开始受不了了。然后下一期的视频就开始讲进货、销售和库存更新。下一期的是难点,因为那个设计的会比今天的麻烦很多。今天就讲到这个地方,咱们下期再见。