教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 综合文档 >

使用EXCEL2003+超市扫码枪自制资质文件借阅管理系统

来源:网络收集 时间:2026-09-23
导读: 使用EXCEL2003+超市扫码枪自制资质文件借阅管理系统 前几天听群里的朋友聊起扫码枪的原理,使我恍然大悟,原来我想多了,其实扫码枪的原理很简单,就是模拟键盘输入,进一步说就是模拟键盘输入一串数字,这串数字正是激光读出的条码号码。听着觉得很好玩。于

使用EXCEL2003+超市扫码枪自制资质文件借阅管理系统

前几天听群里的朋友聊起扫码枪的原理,使我恍然大悟,原来我想多了,其实扫码枪的原理很简单,就是模拟键盘输入,进一步说就是模拟键盘输入一串数字,这串数字正是激光读出的条码号码。听着觉得很好玩。于是有空就去买了一个,花了200元,后来淘宝了一下,

发现亏了。

回来自己摆弄了摆弄,发现真的挺爽,于是我决定把它用到工作中,再给自己偷点懒,想来想去,公司也不是零售企业,也不需要大量出入库,怎么用它给自己偷点懒呢?我想,干脆做一个文件借阅系统吧,每次大家来借公司的各种资质,都要来我们部门要,然后我们要登记都借了那些东西,最后借阅人还要签字,然后还的时候也是这样登记啊,签字啊,不但烦琐,还经常出现有时候忘了做借或者还的手续,到处找不到资质谁借走了没有还。 利用五一的假期,做一个简单的文件资质借阅系统,就当娱乐了。首先就是设计流程。

1、 要对两类事物进行编码,分别是人员的编码跟文件的编码。我设计了如下规则: 人员编码规则:

人员编码由以下几个数据段组成,如“HR-000-0001”。分为3个意义段。

前面的HR,代表了本公司人力资源,统一开头的字符,有助于为以后可能出现的程序识别类别做好预留标识,万一以后要分类,可以方便的用字符函数来处理读到的码。

后边的000代表预留区别标识,最大可以分000-999,这样1000个类。

最后的0001代表了员工编号,考虑到本公司不可能有1000人,所以4位就够了。整个编号串长固定,分别是“2字符长度+3字符长度+4字符长度”,一共9个字符长度。固定串长有助于批量条码生成程序的排版,也方便制作统一大小的条码牌,另外就是为人员编码提供了另外一个隐含属性,“长度=9”,为以后可能出现的数据挖掘处理做预留信息。

分3个意义段其实也是为了体现高内聚,低耦合的数据编码规则特点,为以后使用如MID()函数等做预留方便。

我的号码:

文件编码规则: 文件编码如:“ZZ-ZHB-0000-000001”。分为了4个意义段。 前边的“ZZ”代表了“资质”的缩写,以后还可能出现“WJ”,“DA”,“文件”“档案”的缩写。 第二部分的三个字母“ZHB”代表了综合部。设计规则及意义同人员编码

同样,“0000”作为预留分类标识,“0000001”作为文件编号。(文件数量自然比较多了,考虑到用EXCEL2003做数据表,数量不宜太多,就定100万份算了)。 文件条码粘贴效果:

定完编码规则后,就需要批量制作出条码了。网上搜了一下,在excel中打印条码都是用那个控件,

Bar Control 9.0

(不过自动生成时候遇到点麻烦。说起来奇怪,添加控件后,原来写的VBA代码都不起作用了,仿佛被控件给中断了一样,只好再激活另外一个宏,把这个“僵硬”状态“挺”过去。

反正最后是可以运行了。)然后设置属性,注意,这里这个控件有两个属性栏目,一个共有的,面向对象的产物,一个是私有的,自己特有的属性,设置如下图。

共有属性要设定LinkCell,这个就是条码的指向的,

后边的批量生成就要靠不断用程序更改这个连接的值来刷新,但是麻烦的事情又出现了,无论你怎么弄程序,条码就是不刷新。后来又百度,有个高人说可以用控件的属性“Direction

0”这里做文章,不然的话无法刷新,原因他也不清楚。反正也不深究了,知道这个关键点就足够了。

画完控件设完属性,就要写一个方法驱动它自动刷新,这里我再做一个按扭控件。

代码写成这样:

执行后,条码就排好版了,(当然,打印区域已经设定好固定区域,这样每次生成的就都是按照A4排好版的了,另外,条码数据写在B列里)如图

打印在不干胶上留者粘贴,粘贴之前别忘了用裁照片的铡刀切好。

这里的条码设计,之所以用序号编码,是考虑到以后可能增加的文件及人员,这样只需

要向后延续序号就可以了。一目了然。避免了使用名称编码带来重复可能。

接下来就是设计系统的程序,分以下几个步骤,首先是制数据表,类似于使用数据库编程的建立数据库。我一共设计了4个表,分别是。

其中文件数据表这样设计列标:

做条码与文件名称的映射数据库使用。后边的两列好象没什么用,懒得删除了,留做以后预备吧。

总数据表这样设计:

相当于流水帐,每次的借或者还的信息都有记录,显示在这里,且这里设计了特别的规则,就是“一人做事一人当”就是说,谁借的文件,就必须谁来还,别人是不能还他借的文件的,有利于反溯手续流程。这就严肃了一种追责的制度。如果文件丢失,可以很方便的查询到文件最后是在谁手里。程序里遇到这种情况会有相应的提示。阻止非借阅人还文件。并提示联系借阅人某某使用自己的身份条码来归还。如图

人员数据表这样设计:

做条码与人名的映射数据库使用。条码数据与人员姓名横向对列,这也体现了数学里最普遍的思想,“映射”与“变换”。 然后就是设计用户使用界面,设计原则是,尽可能的连带触发各控件的方法调用,尽量避免用户扫码的同时还要操作鼠标点来点去。这里,表的保存也是连带触发,用户除了开始时候确定是“借”还是“还”,还是“查阅”需要点击标签控件外,不用再次点击任何控件,控件的得到焦点被设计成都是按照流程自动转移。 用户界面如下: 借阅界面

归还界面

查询界面

全部代码如下:

其实不是所有的编程都必须要面向对象,面向对象的做,有时候这种小事,面向过程编程就可以处理的很好。

Private Sub cbx_chayueshaixuan_Change() list_chayue.Clear

For i = 2 To Sheets("文件数据表").Cells(65536, "a").End(xlUp).Row If cbx_chayueshaixuan.Text = "全 部" Then

list_chayue.AddItem Sheets("文件数据表").Cells(i, 2).Value End If

If cbx_chayueshaixuan.Text = "未借出" Then If CStr(Sheets("文件数据表").Cells(i, 4).Value) = "未借出" Then list_chayue.AddItem Sheets("文件数据表").Cells(i, 2).Value End If End If

Next

If cbx_chayueshaixuan.Text = "已借出" Then

For j = 2 To Sheets("总记录表").Cells(65536, "a").End(xlUp).Row If Sheets("总记录表").Cells(j, 4).Value <> "" And Sheets("总记录表").Cells(j, 5).Value = "" Then

list_chayue.AddItem Sheets("总记录表").Cells(j, 2).Value & ",由[" & Sheets("总记录表").Cells(j, 4).Value & "]于[" & Sheets("总记录表").Cells(j, 3).Value & "]借出

尚未归还"

End If Next End If End Sub

Private Sub cmd_c_bumen_Click() If MultiPage1.Value = 0 Then tx_jy_ygname.SetFocus End If

If MultiPage1.Value = 1 Then tx_gh_ygname.SetFocus End If

If MultiPage1.Value = …… 此处隐藏:6425字,全部文档内容请下载后查看。喜欢就下载吧 ……

使用EXCEL2003+超市扫码枪自制资质文件借阅管理系统.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/1890529.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)