Office中国论坛/Access中国论坛

标题: Access挑战Excel第二十一期:排班表 [打印本页]

作者: roych    时间: 2016-4-25 03:43
标题: Access挑战Excel第二十一期:排班表
Access并不像Excel那么自由,不过偶尔来玩玩排班表也是挺不错的事情哦。这是一个标准表的格式:
[attach]58875[/attach]
不过现在摇身一变,马上变成排班表了:
[attach]58876[/attach]
嗯,这里用了两个版本:
1、可以直接打开查询,修改条件后运行即可(事实上这个可以改为参数查询,不过我懒得写了)。
2、或者打开窗体,选择日期后,点击“查看”即可。
[attach]58879[/attach]
据说Excel可以拖拖拖。不过,对于全年360多列,如果想显示一个月的话,准备冻结窗口吗?还是数据透视表?……我的Excel读得少,别骗我。

作者: linlancxh    时间: 2016-4-25 07:25
好好学习
作者: tmtony    时间: 2016-4-25 10:44
这出题速度 杠杠的。小妖估计还在做前5题
作者: roych    时间: 2016-4-25 17:30
tmtony 发表于 2016-4-25 10:44
这出题速度 杠杠的。小妖估计还在做前5题

晚上睡不着的话就鼓捣出一个题目,然后……小妖姐姐就可以2、3个晚上不睡了
作者: purplerose    时间: 2016-4-27 08:58
呵呵 ,ROYCH 威武呀!不愧是王站老师的一位猛将了,膜拜了!小妖老师,要给后妈争口气哟!
作者: pureshadow    时间: 2016-4-28 22:02
先来个函数版
作者: pureshadow    时间: 2016-4-28 22:25
借助数据透视表过渡一下,似乎简单多了,也不用数组了。
[attach]58908[/attach]

作者: pureshadow    时间: 2016-4-28 22:28
roych 发表于 2016-4-25 17:30
晚上睡不着的话就鼓捣出一个题目,然后……小妖姐姐就可以2、3个晚上不睡了

我算算我已经有多久没出题了?
作者: roych    时间: 2016-4-29 01:27
pureshadow 发表于 2016-4-28 22:28
我算算我已经有多久没出题了?

        还是用了数组公式啊。数据不多,所以这里影响不大。如果数据较多的时候,可以考虑使用辅助列,普通查找公式可能会比数组稍微快一些。
[attach]58909[/attach]
       数据透视表,当然不能指望完全做得到的了。把各个代号与班次对应起来也不失为一种思路,值得肯定的是关于时间轴的使用。当然,日期较多的时候,拖动起来也不是太愉快的事情。
   
       也许有人会觉得,在Access中也不见得好到哪里去。然而,如果真的有那么多日期的话,显然不可能把那么多值放在组合框下拉列表里的。而是:

       2003版可以使用内置的Date and Time Picker控件,然后把值传给文本框即可。这当然需要用一两句代码了,不过我不想细说了,大家可以搜索2008年以前的一些示例参考下。
它大概长这个样子:
[attach]58911[/attach]
穿上衣服后(窗体视图)是这个样子。不过,还没“化妆”(修改部分属性,例如把标题的灰色底纹改为蓝色,把当前日期加粗等等):
[attach]58910[/attach]
至于2007版以后,那就更简单了,直接使用文本框即可,主要设置如下:
[attach]58913[/attach]
当你点击文本框时,右侧会出现一个日历图标,点击后即可选择日期:
[attach]58912[/attach]
看到这里,缺乏控件的Excel估计要哭晕在厕所了吧?
作者: pureshadow    时间: 2016-4-29 09:43
有图,语言都是多余的!
[attach]58916[/attach]

作者: pureshadow    时间: 2016-4-29 15:42
没有取消啦,只不过是要加载一下vb6.0里的某个东东
作者: cgsilicone    时间: 2016-4-29 16:49
跟着学习了,Excel还是真强大。
我学做了一个,2万条数据也毫无压力,请各位老师帮忙看看如何搞定“行标签”那一行的数据格式,时间只能显示为文本。


作者: cgsilicone    时间: 2016-4-29 17:11
本帖最后由 cgsilicone 于 2016-4-29 17:12 编辑
roych
把双引号去掉试试? =IFERROR(VLOOKUP(B9,班次,2,),B9)  发表于 3 分钟前

去掉双引号后,没有数据的格子都会显示数据“1900-1-0”,应该显示空白才好。
作者: pureshadow    时间: 2016-4-29 17:34
你以为这个问题只有函数出马才能解决吗?你Out了~
看看这个吧……五个操作:

太多图片了,重发麻烦,直接上链接:http://blog.sina.com.cn/s/blog_563761710102wcgo.html

作者: pureshadow    时间: 2016-4-29 17:36
cgsilicone 发表于 2016-4-29 16:49
跟着学习了,Excel还是真强大。
我学做了一个,2万条数据也毫无压力,请各位老师帮忙看看如何搞定“行标签 ...

改下公式
=TEXT(IFERROR(VLOOKUP(A9,班次,2,),A9),"e-m-d;;;@")
作者: 纸鸽    时间: 2016-4-30 09:27
linlancxh 发表于 2016-4-25 07:25
好好学习

good good study,day day up
作者: 玉树TMD临风    时间: 2022-2-24 18:52
刚好有需要,下载看看。另外论坛里的这些附件为什么下载都显示乱码?




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3