以下是引用 阿甲 于 2013/6/7 20:27:13 发表的文字:
最近学校接近期末和放假时,小学的图书馆管理员遇到这样的麻烦:需要考虑给所有学生的班级升一级,比如说3年级2班的同学在新学年都将升到4年级2班。在目前的读者查询窗有快速修改读者记录的功能,但没有快速修改所在单位的功能,看来只能一个一个打开修改。
是否有可能在快速修改读者记录的窗口增加此功能?或者提供其他简便的方法?
【替代的思路】
我也曾与小学图书馆管理员探讨过替代的思路,比如不要按照几年级几班来设定单位,而是以入学年份作为年级,比如2010级5班。
这样的定义理论是可行的,但不符合中小学老师的习惯,比如叫到2010级5班就必须换算,如果是7月份前就是3年级5班,9月份后就是4年级5班,感觉确实有点别扭。这与大学确实是不同。
另外有些学校的班级还不是如此简单设定的,在国际学校,有2C班、3B班、4CSL班、2ESL班等等外来人看来古怪的称呼;而如果在幼儿园就花样更多了,除了大班小班、K班外,还有以动物的名字命名的班级。这样的单位就只能手工一个一个修改了。
所以总体上,感觉还是让他们按照自己的习惯每年批处理修改一次单位比较好,命名也可以更为自由、人性化一些。
【遐想】
还有可能是看来不太切合实际的需求,但也不妨考虑是否有类似的可能。
比如说有的图书馆在单位上确定就是N年级M班,那么是否有可能约定到某个时间段自动(或者由什么动作触发)升级,这也是批处理,但可以是一个年级(而不是一个班)升级。
还有一种可能,比如在系统中就是以入学年份为年级单位的基础,但呈现的方式可以选择,比如大学生显示2010级、小学生显示3年级……这样用户并不需要每次批处理修改,只需要选择呈现方式就行了。
不过相比之下,这种遐想都不是急需的,批处理修改单位可能还是必要的,特别是非年级设定单位呢。
很好的建议。我最近就准备着手在 读者查询窗 中增加 C# 脚本的功能。
其实也可以用原来的“快速修改册窗”的类似方式来执行这种修改任务,但我想到班级名称的替换可能不是个简单的字符串替换任务,也许需要条件判断,所以就决定还是用 C# 脚本来实现吧。
关于一劳永逸地指定班级名称的方法,我曾经设想过用一种类似宏的方式来定义,里面有变量和当前年代有关。这样,每过一个学期,宏兑现后的名称就会自动发生变化。以后有机会了可以一试。