注册 登录
编程论坛 VB6论坛

苦逼的命,VB6.0编写一个小程序,明天搞不定就被炒鱿鱼了~~~~~

tonecan2008 发布于 2014-03-06 20:50, 2677 次点击
苦逼的命,小弟刚进一个公司,我的职责本来是擦内存条的,以前也没用过vb,现在论坛求救,需要是实现数据对比。
具体的功能如下:
1、ACCESS或Excel做数据库。
2、需要一个TEXT输入框,并且可触发回车事件。
3、需要一个Label来显示对比结果。
----------------------------------------------------割了!!!~~~
目前我自己弄了一个小程序,因为需要对比的数据不是唯一的,所以需要用到数据库,首先把数据导入到数据库中,然后在
TEXT1中输入数据,触发回车事件之后调用数据库,看数据库里是否存在这条记录。如果存在,Label里就以黑色字体显示存在,
如果不存在就用红色的字体显示不存在。(功能和附件的贴图差不多。)
3.8妇女节快到了,我在此祝大家节日快乐。 好人一生平安!!!!!!!!
[attach]74966[/attach][attach]74967[/attach]






[ 本帖最后由 tonecan2008 于 2014-3-7 13:54 编辑 ]
38 回复
#2
wp2319572014-03-06 20:53
涉及数据库了  一个晚上你无论如何也是搞不定的
#3
tonecan20082014-03-06 20:55
回复 2楼 wp231957
注定我要被炒鱿鱼吗?
#4
wp2319572014-03-06 20:59
数据库是现成的 还是一切都是白手起家  要是后者 你就可以睡觉觉去了
#5
tonecan20082014-03-06 21:12
回复 4楼 wp231957
空数据库也行。需要比对的数据是后面才导进去的,这么跟你说吧 我们的产品需要扫条码,假如10000个产品,以前条码都是唯一的,比如123,现在不知道抽什么风,条码不是唯一的一个数字了,比如 123、567、987、这样的了。然后也要对这些条码进行比对,思路是首先把这10000个不是唯一性的条码数据导入数据库中,然后再去比对。
#6
wp2319572014-03-06 21:13
用excel表 来做 也许会更快 更容易一些吧
#7
tonecan20082014-03-06 21:16
回复 6楼 wp231957
客户要求用程序来控制,用Excel他们不接受,
#8
wp2319572014-03-06 21:26
1万个已知条码在哪里  需要一个一个录到数据库里
还是有现成的excel表或文件啥的
#9
tonecan20082014-03-06 21:28
回复 8楼 wp231957
已知的条码是客户发给我们的,Excel表。
#10
xlhcy20142014-03-06 22:13
我还是做个过路甲吧   

[ 本帖最后由 xlhcy2014 于 2014-3-6 22:20 编辑 ]
#11
tonecan20082014-03-06 22:20
回复 10楼 xlhcy2014
要求是 客户提供了一个Excel表,里面有10000条数据(10000条数据相当于10000个产品),首先将10000个程序输入到数据库中,然后在Text1里用条码枪把产品外包装上的条码扫进去,然后调用数据库比对,如果数据库里存在这条数据,就显示为正确,不存在该数据就显示错误。哥们跨界挺大啊,放着赚钱的生意不做,跑来写程序呀。!值得学习!
#12
lowxiong2014-03-06 22:23
熟者不难,提供原始记录,写明要求应该很快搞的定。
#13
tonecan20082014-03-06 22:26
回复 12楼 lowxiong
版主大大,可以帮我一个忙吗?全家都指望我这点工资了、
#14
xlhcy20142014-03-06 22:34
我有个小小小的问题,为什么你不懂VB ,你们公司要让你做这些呢?
#15
lowxiong2014-03-06 22:35
这么严重?那发数据,我看看。lowxiong@
#16
lowxiong2014-03-06 22:36
回复 14楼 xlhcy2014
肯定是牛皮吹炸了~~~~~~~~
#17
xlhcy20142014-03-06 22:37
回复 16楼 lowxiong
被你发现了
#18
tonecan20082014-03-06 22:39
回复 14楼 xlhcy2014
情况是这样的,我们本来有一个比对软件,是WEB版的,要联网,生产车间和办公室离的比较远,网线没法拉过去,然后写程序的不干了,就剩下我这个擦内存条的。
客人要求后天搞定,就叫我拉网线,车间太多,布线没那么快,就想着做一个单机版的软件,实现功能。你丫的卖你的猪肉去吧。
#19
tonecan20082014-03-06 22:58
回复 16楼 lowxiong
已发!
#20
lowxiong2014-03-06 23:07
至少给出部分数据或数据字段结构,否则无法设计数据库,程序就无从写了。
#21
xlhcy20142014-03-06 23:09
程序代码:
Option Explicit
'把excel的数据复制到文档文件,并改名为 "localdata.txt"
Private Type product
infor As String * 13  '13位条码
tab   As String * 7   '7个空格
End Type

Sub localprouct()
Dim num As Integer, myproduct As product
Open App.Path + "localdata.txt" For Random As #1 Len = Len(myproduct)
For num = 1 To 10000
Get #1, num, myproduct
If myproduct.infor = Text1.Text Then Exit Sub: Label1.Caption = "合法条码"
Next num
Label1.Caption = "非法条码"
Close #1
End Sub
#22
xlhcy20142014-03-06 23:13
我还是继续卖我的猪肉吧
#23
tonecan20082014-03-06 23:14
回复 22楼 xlhcy2014
哈哈,我跟你开玩笑,你别当真啊。
#24
xlhcy20142014-03-06 23:22
把上面的exit sub 换成 exit for,一时没留意

条码枪的接口 你知道吗?
程序代码:
Option Explicit
'把excel的数据复制到文档文件,并改名为 "localdata.txt",等于建了个简单数据库
Private Type product
infor As String * 13  '13条码
tab  As String * 7   '7个空格
End Type

Sub contrast()
Dim num As Integer, myproduct As product
Open App.Path + "localdata.txt" For Random As #1 Len = Len(myproduct)
For num = 1 To 10000
Get #1, num, myproduct
If myproduct.infor = Text1.Text Then Exit For: Label1.Caption = "合法条码"
Else
Label1.Caption="非法条码"
End If
Next num
Close #1
End Sub




[ 本帖最后由 xlhcy2014 于 2014-3-6 23:24 编辑 ]
#25
tonecan20082014-03-06 23:24
回复 24楼 xlhcy2014
不用考虑枪的接口问题,我做过测试,只要能用键盘输入的地方,条码枪就可以把数据准确无误的扫进去。
#26
xlhcy20142014-03-06 23:30
那你在加载程序的时候 ,最好获取焦点  代码都给你了
程序代码:
Option Explicit
'把excel的数据复制到文档文件,并改名为 "localdata.txt",等于建了个简单数据库
Private Type product
infor As String * 13  '13条码
tab  As String * 7   '7个空格
End Type

Sub contrast()
Dim num As Integer, myproduct As product
Open App.Path + "localdata.txt" For Random As #1 Len = Len(myproduct)
For num = 1 To 10000
Get #1, num, myproduct
If myproduct.infor = Text1.Text Then Exit For: Label1.Caption = "合法条码"
Else
Label1.Caption="非法条码"
End If
Next num
Close #1

Private Sub Form_Load()
Text1.SetFocus
End Sub


Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then contrast
End Sub


 

[ 本帖最后由 xlhcy2014 于 2014-3-6 23:42 编辑 ]
#27
lowxiong2014-03-07 00:49
发到你邮箱了
#28
owenlu19812014-03-07 08:19
Dim Conn As New ADODB.Connection,RsMain As New ADODB.Recordset,MainSQL As String

Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 then
    MainSQL = "Select * from [SN$] in 'C:\产品SN.xls' 'Excel 8.0;' where [SN] = '" & Text1.text & "'"      ----> [SN$], SN为Sheet名称
    RsMain.open MainSQL ,Conn,1,1
    If Not RsMain.EOF then
        Text2.text = RsMain.fields("SN")
        Label1.Caption = "合法条码"
    ELSE
        Text2.text = "没有找到"
        Label1.Caption = "非法条码"
    Endif
    RsMain.close
    Text1.Setfocus
Endif

[ 本帖最后由 owenlu1981 于 2014-3-7 09:34 编辑 ]
#29
owenlu19812014-03-07 08:34
回复 25楼 tonecan2008
2个文本框的数据来源和逻辑提供下
#30
tonecan20082014-03-07 09:44
回复 29楼 owenlu1981
现在不需要两个文本框了,(最开始我们的条码都是固定的一组数字,但是现在为不规则的数据了)所以只需要一个文本框来输入数据,回车触发回车事件,调用数据库(附件为数据库的格式
只有本站会员才能查看附件,请 登录
),如果数据存在  显示合法条码   数据不存在显示非法条码,
#31
owenlu19812014-03-07 10:10
试一下

Dim Conn As New ADODB.Connection,RsMain As New ADODB.Recordset,MainSQL As String
1. 使用回车响应
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 then
    MainSQL = "Select * from [Sheet1$] in 'C:\SN.xls' 'Excel 8.0;' where [SN] = '" & Trim(Text1.text) & "'"      ----> 'C:\SN.xls' 为Excel路径,首行插入一行表头"SN"
    RsMain.open MainSQL ,Conn,1,1
    If Not RsMain.EOF then
        Label1.Caption = "合法条码"
    ELSE
        Label1.Caption = "非法条码"
    Endif
    RsMain.close
    Text1.Setfocus
EndIf

2. 数据输入后自动响应 (利用文本框数据变化时字长判断)
Private Sub Text1_Change()
If Len(Trim(Text1.Text)) = 18 Then
    MainSQL = "Select * from [Sheet1$] in 'C:\SN.xls' 'Excel 8.0;' where [SN] = '" & Trim(Text1.Text) & "'"
    RsMain.Open MainSQL, Conn, 1, 1
    If Not RsMain.EOF Then
        Label1.Caption = "合法条码"
    Else
        Label1.Caption = "非法条码"
    End If
    RsMain.Close
Else
    Label1.Caption = "非法条码"
End If
Text1.SetFocus

[ 本帖最后由 owenlu1981 于 2014-3-7 10:24 编辑 ]
#32
tonecan20082014-03-07 10:29
回复 31楼 owenlu1981
可以将frm.vbp.数据库这些文件打包吗? 我才接触VB一两天,这些我肯定是不知道怎么弄,无从下手啊。
#33
owenlu19812014-03-07 10:37
以下是引用tonecan2008在2014-3-7 10:29:07的发言:

可以将frm.vbp.数据库这些文件打包吗? 我才接触VB一两天,这些我肯定是不知道怎么弄,无从下手啊。


直接可以 EXE 文件?
#34
tonecan20082014-03-07 11:06
回复 33楼 owenlu1981
源代码我也想了解啊
#35
owenlu19812014-03-07 11:12
回复 34楼 tonecan2008
只有本站会员才能查看附件,请 登录
#36
owenlu19812014-03-07 11:15
以下是引用tonecan2008在2014-3-7 11:06:06的发言:

源代码我也想了解啊


都在附件了,提供了两种方式的exe
#37
tonecan20082014-03-07 13:53
回复 36楼 owenlu1981
谢谢你!已经搞定了~
#38
xiaoqing20142014-03-08 14:10
加油吧!给你精神上的支柱
#39
vbvcr512014-03-19 22:04
不会数据库,还去做数据库,而且是短时间内完成。这样的必须是苦命。软件讲的是逻辑。这个也是编程思维得出的结果。
1