如何用VB设计一个简单的rfid考勤软件

IOTgg 2017-04-06 09:20:31
用一个id卡,通过串口第一次刷代表上班,第二次刷代表下班。通过软件记录卡ID号和上班时间、下班时间
...全文
1233 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
sw519 2018-05-04
  • 打赏
  • 举报
回复
读卡器一般不会自动去检测上面有没有卡片,你需要做一个定时器不停的检测读卡器上是否有卡,有卡的情况下把数据读出来
脆皮大雪糕 2018-05-04
  • 打赏
  • 举报
回复
还有不同人不同班别的问题
脆皮大雪糕 2018-05-04
  • 打赏
  • 举报
回复
先搞清楚,你目前遇到的是读卡问题还是读完卡以后的考勤逻辑问题。 这个标题20个字符,要做的东西说小可以很小,说大可以很大
赵4老师 2018-05-04
  • 打赏
  • 举报
回复
“还有讲究,同在上班允许刷卡时间内,多次刷卡的取最后一次;同在允许下班刷卡时间内,多次刷卡的取第一次……等等,等等。” 这明显是偏袒资本家,极尽所能剥削工人阶级嘛!马克思不答应!!
小噤 2018-05-03
  • 打赏
  • 举报
回复
能用超级终端之类的工具能读出串口数据,剩下就是写代码的事情了。
shiguangxin 2017-04-25
  • 打赏
  • 举报
回复
引用 13 楼 shiguangxin 的回复:
[quote=引用 10 楼 sysdzw 的回复:] 现在都流行app考勤打卡了。还带地理位置的。
定位打卡不是很靠谱,因为有误差,还因为不能防止代打卡 现在都是人脸识别打卡了,进门 -- 识别 -- 完成打卡 [/quote]
引用 13 楼 shiguangxin 的回复:
[quote=引用 10 楼 sysdzw 的回复:] 现在都流行app考勤打卡了。还带地理位置的。
定位打卡不是很靠谱,因为有误差,还因为不能防止代打卡 现在都是人脸识别打卡了,进门 -- 识别 -- 完成打卡 [/quote] 我说得可是跟人脸考勤机不是一个概念, 身份识别完全是自动的,对被识别人完全是无感的。
shiguangxin 2017-04-25
  • 打赏
  • 举报
回复
引用 10 楼 sysdzw 的回复:
现在都流行app考勤打卡了。还带地理位置的。
定位打卡不是很靠谱,因为有误差,还因为不能防止代打卡 现在都是人脸识别打卡了,进门 -- 识别 -- 完成打卡
shiguangxin 2017-04-25
  • 打赏
  • 举报
回复
rfid 应该有现成的开发包,按要求调用就可以了。 打卡记录直接扔数据库就行了 上班打卡下班打卡 你怎么判断迟到或者早退呢? 所以就得有班次表与之对应 某天没打卡 是因为休息还是因为旷工呢 ? 所以就得有排班表 某人凌晨2点打卡 是算今天的上班呢 还是算 前一天的加班呢? 等等 等等 各种各样的情况想想都头大啊 所以楼主你想得太简单了
三楼の郎 2017-04-25
  • 打赏
  • 举报
回复
又到一年毕设时间
tanta 2017-04-14
  • 打赏
  • 举报
回复
这种设计方式肯定是有问题的,比如说: 员工打过卡了,忘了,又重新打一次卡,算下班吗? 一天中出现多次打卡怎么办? 上班忘记打卡,下班打卡了,算下班时间上班吗? ======================================= 软件设计中,要充分考虑到可能出现的各种情况,并提出解决的策略。
无·法 2017-04-14
  • 打赏
  • 举报
回复
现在都流行app考勤打卡了。还带地理位置的。
Benett0312 2017-04-13
  • 打赏
  • 举报
回复
这个有点复杂的
Tiger_Zhao 2017-04-12
  • 打赏
  • 举报
回复
万能答案:
要供应商提供样例啊!
你付钱卖硬件还不要服务,太傻了吧!

IOTgg 2017-04-12
  • 打赏
  • 举报
回复
目前如下代码还是无法通过刷卡显示卡号
Option Explicit

Private Sub Command1_Click()
Dim number As Integer
Dim outbyte(0) As Byte
number = Val(Text1.Text)
outbyte(0) = CByte(number)
MSComm1.OutBufferCount = 0
MSComm1.Output = outbyte

End Sub


Private Sub Form_Load()
MSComm1.CommPort = 3
MSComm1.Settings = "9600,N,8,1"
MSComm1.EOFEnable = True
MSComm1.RThreshold = 1
MSComm1.InputLen = 0
MSComm1.PortOpen = True
MSComm1.InBufferCount = 0


End Sub

Private Sub MSComm1_OnComm()
Dim indata As Variant
Dim arr(0) As Byte
Select Case MSComm1.CommEvent
Case commEvReceive
indata = MSComm1.Input
arr(0) = AscB(indata)
Text1.Text = arr(0)
MSComm1.InBufferCount = 0
End Select


End Sub

IOTgg 2017-04-12
  • 打赏
  • 举报
回复
引用 5 楼 of123 的回复:
真正的考勤系统,数据库只单纯地保留刷卡记录。也就是刷卡时不做分析,只保存卡号和刷卡时间。这样是既是为了允许员工陆续快速刷卡,也为了允许管理人员在月底统计前上报班次临时调整、请假、加班等等信息。 要实现考勤,需要给管理员留出考勤规则接口。如规定某人(对应某卡号)应在何时前上班刷卡,何时起算迟到,何时应下班刷卡,何时算早退。以及如何处理请假、加班等等。 如有倒班,对某人的考勤还要分时间段规定多个规则。 因此,需要有单位、班次等等多表关联来简化规则的输入。 然后,有一个月末统计功能,根据规则分析刷卡记录。还有讲究,同在上班允许刷卡时间内,多次刷卡的取最后一次;同在允许下班刷卡时间内,多次刷卡的取第一次……等等,等等。最后给出每个人的全月统计,出勤、请假、加班、迟到、早退、矿工……
确实是这样。不过我们的要求是使用一现成的读卡器,RFID卡,通过USB连入PC,然后在VB上通过MSComm读取卡号在text框中显示,卡号例如95 D7 92 1D这样子。
of123 2017-04-12
  • 打赏
  • 举报
回复
真正的考勤系统,数据库只单纯地保留刷卡记录。也就是刷卡时不做分析,只保存卡号和刷卡时间。这样是既是为了允许员工陆续快速刷卡,也为了允许管理人员在月底统计前上报班次临时调整、请假、加班等等信息。 要实现考勤,需要给管理员留出考勤规则接口。如规定某人(对应某卡号)应在何时前上班刷卡,何时起算迟到,何时应下班刷卡,何时算早退。以及如何处理请假、加班等等。 如有倒班,对某人的考勤还要分时间段规定多个规则。 因此,需要有单位、班次等等多表关联来简化规则的输入。 然后,有一个月末统计功能,根据规则分析刷卡记录。还有讲究,同在上班允许刷卡时间内,多次刷卡的取最后一次;同在允许下班刷卡时间内,多次刷卡的取第一次……等等,等等。最后给出每个人的全月统计,出勤、请假、加班、迟到、早退、矿工……
of123 2017-04-10
  • 打赏
  • 举报
回复
真要做一个可以实用的考勤系统,实际上是蛮复杂的。 如果仅仅是记录刷卡,会做读卡器事件响应(一般刷 ID 卡就相当于键盘输入)和数据库表写入就可以了。 你设定一个上班时间上限,此前的刷卡都写入到上班时间字段;再设定一个下班时间下限,此后的刷卡都写入到下班时间字段。
赵4老师 2017-04-07
  • 打赏
  • 举报
回复
百度搜相关关键字。
无·法 2017-04-07
  • 打赏
  • 举报
回复
没搞过,有懂的人可以说说
IOTgg 2017-04-06
  • 打赏
  • 举报
回复

7,765

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧