| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2006 人关注过本帖
标题:VB如何判断text1中输入同一数值的次数
只看楼主 加入收藏
tonecan2008
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2014-3-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:12 
VB如何判断text1中输入同一数值的次数
有VB+EXCEL的小程序,界面及数据库如下图:
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册


程序代码如下:
程序代码:
Private Sub Text1_KeyPress(KeyAscii As Integer)
  Dim rst As New Recordset, sql As String, a As String
  If KeyAscii = 13 Then
    a = Trim(Text1)
    If a = "" Then Exit Sub
    sql = "select * from [sheet1$] where " & AName & "='" & a & "'"
    rst.Open sql, con, adOpenDynamic, adLockOptimistic
    If rst.EOF Then
      Label2.ForeColor = vbRed
      Label2.Caption = "错误条码:" & a
      Text1.Text = ""
    Else
      Label2.ForeColor = vbBlack
      Label2.Caption = "正确条码:" & a
      sql = "delete from [sheet1$] where " & AName & "='" & a & "'"
      Text1.Text = ""
    End If
    rst.Close
    KeyAscii = 0
  End If

现在需要加一个功能,如果相同的数据输入了两次(前提是输入进去的数据显示“正确条码”)系统能不能提示这个条码已经输入了2次?
搜索更多相关主题的帖子: 数据库 如何 
2014-03-12 11:01
owenlu1981
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:13
帖 子:211
专家分:1130
注 册:2013-5-17
收藏
得分:1 
改下SQL即可
sql = "select Count(*) as [Qty] from [sheet1$] where " & AName & "='" & a & "'"
rst.fields("Qty") 即为次数
2014-03-12 12:41
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:653
专家分:3402
注 册:2008-5-7
收藏
得分:10 
楼主的意思好像是判断是否重复扫描相同的条码,简单方法是:只要数据不是特别大,可以字符串叠加即可,代码如下(红色部分代码为增加的代码):

dim repeatT as string
Private Sub Text1_KeyPress(KeyAscii As Integer)
  Dim rst As New Recordset, sql As String, a As String
  If KeyAscii = 13 Then
    a = Trim(Text1)
    If a = "" Then Exit Sub
    if instr(1,repeatT,a )>0 then
      msgbox "条码" & a & "重复,是正确条码"
      exit sub
    end if
    sql = "select * from [sheet1$] where " & AName & "='" & a & "'"
    rst.Open sql, con, adOpenDynamic, adLockOptimistic
    If rst.EOF Then
      Label2.ForeColor = vbRed
      Label2.Caption = "错误条码:" & a
      Text1.Text = ""
    Else
      Label2.ForeColor = vbBlack
      Label2.Caption = "正确条码:" & a
      sql = "delete from [sheet1$] where " & AName & "='" & a & "'"      '这一句莫名其妙,该sql是删除正确条码,并且没执行
      repeatT =repeatT  & a
      Text1.Text = ""
    End If
    rst.Close
    KeyAscii = 0
  End If

2014-03-12 13:24
tonecan2008
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2014-3-6
收藏
得分:0 
回复 3楼 lowxiong
恩,本来最开始我是想核对一个条码就删除一个,这样就可以达到没有重复条码的目的.
2014-03-12 13:36
tonecan2008
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2014-3-6
收藏
得分:0 
回复 3楼 lowxiong
我加了这些代码进去,好像没有反应。我还有一个疑问,假如我有10000个条码需要扫描,相同的条码只能重复扫描两次(产品上会贴2个条码)。如果我上午只扫了5000个,剩下的5000个下午扫,中午的时候电脑会关机,这样会影响到下次开软件是的计数吧? 我的想法是每扫一个条码就在Excel里把条码上加一个注释,当注释的内容是“2”时,提示已经扫了2次,不知道怎么实现。哎\!
2014-03-12 13:50
owenlu1981
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:13
帖 子:211
专家分:1130
注 册:2013-5-17
收藏
得分:1 
看你的代码,如果数据正确,要从Excel中删除,那么这个计数用意是?
(当第一次输入后,该条码就被删除了,第二次输入时就提示该条码错误了)
2014-03-12 14:19
tonecan2008
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2014-3-6
收藏
得分:0 
回复 6楼 owenlu1981
刚开始的时候没说要扫描两次,后来告诉我一个产品是贴两个相同的条码,所以删除的办法行不通。 做这个程序的目的就是为了防止 一批货里出现两个相同条码的产品, 还有就是看扫出来的条码是不是这一批货的。
2014-03-12 16:59
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:5 
Excel 就是烦。

刚试了一下,SQL 查询没问题,更新就出问题了。真是好郁闷。这一块我最不熟悉了。

想一下,换个功能来做吧。

程序提供一个功能,用来导入 EXCEL 文件里的 数据,保存到 MDB 里。
如果导入的 数据在 MDB 里已存在,记录一下,导入结束时提示该 条形码已存在,如果已扫,就提示该条形码已使用。
然后 每次读写都是到 MDB 里,扫一个,查MDB ,然后更新 标志位。

-----------------
前面提供的程序,EXCEL 版本是 14 的,工程我执行报错。这机子没装ACCESS,无法打开。
VISDATA 提示 不可识别的数据库。
无法 …………………

授人于鱼,不如授人于渔
早已停用QQ了
2014-03-12 21:00
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4947
专家分:30084
注 册:2008-10-15
收藏
得分:0 
还有种方法,就是 按3楼的方法。
把扫过了的数据保存到一个文件里,这个文件可以使用 TXT 也可以使用 MDB (建议)。
记录数据和 时间。
每次扫描后,都查询一下这个文件,是否使用过了。

--------------------
最终发现是下载的 VB6 有问题。原来的安装文件硬盘损坏时丢失了。
郁闷之极。

授人于鱼,不如授人于渔
早已停用QQ了
2014-03-12 21:13
owenlu1981
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:13
帖 子:211
专家分:1130
注 册:2013-5-17
收藏
得分:3 
SN.zip (27.76 KB)

直接用VB+ACCESS,先将EXCEL中序列号导入ACCESS中(密码为123)
然后执行EXE即可
2014-03-12 21:47
快速回复:VB如何判断text1中输入同一数值的次数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026232 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved