自己写的东西总是要改进。
6月中,知道要自己做一个数据录入系统,一向是从网上找现成软件然后改头换面的我的确遇到不少麻烦,这些麻烦有的是摆在我眼前的,有的是不知道从哪钻出来的,而有的一直站在我身后,当我回头的时候,它在冷冷的笑。
合肥天气到了6月间就变的相当如同11月一样乍暖乍寒,在办公室里想如何去写这个该死的家庭信息录入程序。问题开始:
1、 了解过去的一个别的公司录入系统是怎么样的。
2、 对录入员看到的是否感觉有好,录入是否感到方便。
3、 数据的库结构
第三个问题本应是最需要好好把握的,但是后来……
过去别的公司做了一个(和我的软件一样受到了大量投诉)。没有源代码,只能模仿下界面,密密麻麻的不同的label textbox combo 和他自己写控件交织在一个form里,由录入的内容来判断下面的有些地方时候出现,因为在左右显示,所以对于crt低分辨率来说,控件的居住条件紧张在所难免。决定有所改变。录入员录入时候一般是不使用鼠标,所以如何将全部操作都设为顺手的快捷键的确是个问题。录入不同类型的数据希望有提示,并且录入方式需要有所控制,combo多选也是个麻烦。必须解决……头几天就想这么多现解决再说。
界面解决:
我在论坛的提醒下,将word表做成图片贴在后面,前面帖控件!视觉效果真是太好拉!
所有控件重写,统一成一种,这样解决很多问题的同时又好循环入库……
因为成了word文档样式所以上下让人容易接受许多,所以写上下pageup pagedown!后期才加上鼠标滚轴,最后信息的提交入库的快捷键理所应当的用了QQ的ctrl+回车,所有人都能接受!
控件解决:
控件大部分是一个和我一样初学同学写的,写的强大和问题并存,类结构里包含了名、sql名、值、数据类型,长度、多选单选,combo类型多选可以生成一个编号字符串,为了录入员看的清晰,不同的数据类型使用了不同的颜色。最后界面看起来五颜六色,几十台计算机一起蔚为壮观,缺点:对数据合理性的判断不够,出现了日期型接受不完全日期,小数控制位数长度与控制全长冲突。其他选项为空出现歧义,有待下次解决(以后将其他新加另个box)
基本操作解决:
大多数有经验录入员都有约定俗成的录入方式,这些很多是从过去的foxbase 数据管理软件中继承来的,尊重习惯,而有些是以往的管理者经验需要注意的。
1、 上下按键选定光标所处的box位置
2、 如果有字则全选(把我害惨了,多选修改那个编号字符串重新生成需要判断)
3、 回车和tab键来下一个Box
4、 可以修改以前的录入内容
5、 有些一致内容尽量不要填写
6、 对于重要内容(身份证)需要录入两遍
7、 对于逻辑关系判断(伤心啊!!!!)
8、 数据合法性判断(自认为在控件上已经做处理,结果……)
9、 网络版时间统一使用sqlserver时间(select convert(varchar,getdate(),23) as mytime)
工作开始:
要求是先录入家庭,通过人数判断录入人员数,有空的要标记,一页页的显示,难得我开始做了了一个如同word2003一样标签,一下可列出一个家庭的内容,不过换成要求的方式难度降低了很多。
100多个自己控件,image1(用于拉升)套image2(内部固定位置),里面的大小与表格保持一致并且在上面放置控件。外面放置滑动条,这样就可以一张表就全部放到了程序界面里。
入库类:改变参数来设置是sqlserver或access。开始的时候一个个循环入库,后来使用了sql名以后使问题更加方便(体现如果使用在inseret 语句),但是程序调试变得很麻烦(下次要解决!!!!)
界面上的所有按键基本上都设定了快捷键,所有数据合法性和逻辑关系判断在入库前做判断。
修改程序单独制作,通过消息通知是否启动或关闭,通过参数制定修改的id号。
制作过程中的麻烦不多,但是到后期使用时修改的很麻烦
出现了无法关闭的现象!结果 哈哈直接ExitProcess
管理中注意:
1、 数据库每天备份,sqlserver自带功能
2、 因为为了是数据分开,一个舍居委一个数据库,使得数据库庞大,维护麻烦,但是这样可以分担了任务,使得出错的损失比较小。
3、 一旦出现问题可以使用sql logfile 可以回复误删的数据
4、 对人员的安排也需要一个专门的软件,因为时间问题,结果手动完成,这样每个月一个工号,录入量按工号计算。使问题又方便许多。
管理中问题:
1、 与录入员的关系,有些录入员是暑期学生工,在重复劳动后会出现极度厌烦感,这样录入的效果会很糟糕,因为数量巨大的情况下,双录不可行,查错有一定局限性,如何解决积极性的问题。
2、 某房间的网络老是断线,让我很难过。不得以还写了一大段检查的程序,恨人。
3、 单个修改中改为access,为了让单机修改方便。但是单机的管理真令人厌烦,晚上要录入员后加班。
4、 快手用好计算机,慢手用差一点的,资源是优化了,别忘照顾其他人感情。
5、 学生与专业录入员的习惯不同,大学生爱用tab,而录入员用回车,而我所有的判断都在回车键后判断……我晕……
6、 对数据库查找需要批量修改的内容需要备份,写了一个批量查询软件,在几十万人不同的数据库里找一个人名的确不容易
后期校队的问题
还是发现了逻辑和其他错误
1、 全角数字寻找(select * FROM 表 WHERE LEN(字段)<>DATALENGTH(字段) 判断汉字),不能使用ntext的类型。
2、 一个表里有人出现两次(这很正常,但如何找出这些人),havecount 的速度实在……Select jtbh,C01,C06 from hfC a where exists (select 1 from hfC where c06=a.c06 and jtbh<>a.jtbh and C06 <> 'NULL') 速度超常规的提高。
3、 小数点问题,有些录入员竟然录入数字时候没打小数点!以后要商量好有些数值做好不要小数。
记录,以后补充