Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

使用扫码枪扫描条形码打开指定窗体

嗨  发表于:2020-08-12 15:28:32  
复制

各位老师,我想实现的功能是用扫码枪扫描纸上的条形码(条形码是事先编好的,打印在纸上,以各个窗体的名字用条形码字体生成的),扫描后能打开该条形码指定的那个窗体。例如一个样品品名是ABC-123,我用此品名生成好的条形码打印在纸上,我要打开以“ABC-123”命名的窗体时只要扫描一下条形码就行了, 请问这个功能可以实现吗?应该如何实现?

我看过BarCodeControl控件,但这是生成条形码的工具,似乎无法实现我的上述功能,请问各位老师,对于新手的我应该从何入手?

 

Top
嗨 发表于:2020-08-13 13:24:10

大家好,我看了下面这篇文章,感觉litao老师说的可以实现我想要的动能。

条码枪,扫描完成后,最后一个字符是【回车】。在文本框设置【失去焦点事件】就可以获取扫描枪扫描动作。

【失去焦点事件】处理过程,记得
1、首先检查文本框中是否有输入,有输入才继续执行,没有直接跳出处理过程。(否则可能因为第3点,焦点锁死在文本框中。)       

2、获取到数据后,要清空文本框。

3、处理完成后,要把焦点还原到文本框,以实现连续扫描输入。 

http://www.accessoft.com/bbs/showtopic.asp?Id=28470


想请问一下各位老师,该实现上述功能失去焦点事件的代码应该如何编写?

Private Sub Text0_LostFocus()


End Sub

'失去焦点后打开扫码枪录入文本框值对应的宏,例如文本框录入了“A-1”的文本,然后打开名字为"A-1"的宏。
'打开宏的操作后,清除文本框里的文本
'把焦点重新回到文本框,实现连续输入
点击下载此附件





西出阳关无故人 发表于:2020-08-17 12:50:38

建议:

新建一个表  表名:测试,字段:id 自动编号,名称 文本

基于表(测试)创建窗体,然后,在form的更新后事件中去打开对应的窗体

Private Sub Form_AfterUpdate()

on error resume next

docmd.openform me.名称

end sub

点击下载此附件



嗨 发表于:2020-08-23 11:24:08

感谢楼上老师的热心答复,根据其建议再结合自身实际情况终于把代码整好了,过程是痛苦的,尤其对于我这种不是专业的新手,代码也是东拼西凑,还好结果是好的,现整理分享如下:

Private Sub Text0_AfterUpdate()
 On Error GoTo Err_Text0_AfterUpdate
  Dim stDocName As String
     stDocName = Text0.Value
     DoCmd.RunMacro stDocName
     Me.Text0 = Null
     Me.Text0.SetFocus
Exit_Text0_AfterUpdate:
Exit Sub
Err_Text0_AfterUpdate:
     MsgBox Err.Description
     Resume Exit_Text0_AfterUpdate
End Sub

点击下载此附件


感谢ACCESSOFT平台,确实学到不少!



13555609005 发表于:2021-02-16 07:31:15
学习学习

总记录:4篇  页次:1/1 9 1 :