标题:VB6中TEXTBOX输入内容为数字,查找数据输出了错误的结果,麻烦大神check下代 ...
只看楼主
lliiss681
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2021-8-18
结帖率:66.67%
已结贴  问题点数:20 回复次数:7 
VB6中TEXTBOX输入内容为数字,查找数据输出了错误的结果,麻烦大神check下代码
我用TEXTBOX输入的数值进行查找数据,结果查到了错误的结果,代码如下
Dim P As Integer
P = Val(HP)  'HP是我TEXTBOX的名字
If Cells(j, 2) >= P then
a = a + "   " + xlSheet.Cells(j, 1).Value & vbCrLf
End If
Me.Text1.Text = a



比如我输入值是8,想查找大于等于8的值,结果连6都进行输出了,
我问的问题就是VB6在查找数据时候会出错吗?还是我的TEXTBOX赋值函数用的VAL()有问题啊?
应该怎么用呢才能准确的查到大于8的值?
搜索更多相关主题的帖子: 数据 查找 结果 输入 TEXTBOX 
2021-09-13 17:47
apull
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:三体星系
等 级:版主
威 望:185
帖 子:1404
专家分:8479
注 册:2010-3-16
得分:5 
P = Val(HP.Text)
2021-09-13 22:15
lliiss681
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2021-8-18
得分:0 
回复 2楼 apull
我试了下,还是不行,就是这种错误输出是偶发性的,不是每一次都会输出错误结果,有时候确是正确的,我是在同一个EXCEL文件的不同sheet查找大于8的数据,用两个BUTTON控件进行控制,时常出错
2021-09-14 08:52
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:5 
If Cells(j, 2) >= P then
a = a + "   " + xlSheet.Cells(j, 1).Value & vbCrLf

IF里取值与 下面一行的取值命令不同。
另外,CELLS里的值是 什么格式,是不是也要用 VAL 函数 转换一下??

授人于鱼,不如授人于渔
早已停用QQ了
2021-09-14 11:11
lliiss681
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2021-8-18
得分:0 
回复 4楼 风吹过b
“IF里取值与 下面一行的取值命令不同”请问大神这个句指点是指什么?没有看懂
CELL()里都是数字,就是EXCEL里填入的都是数字,然后最终输出显示的那列是文本
2021-09-14 11:25
cwa9958
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:67
帖 子:247
专家分:1228
注 册:2006-6-25
得分:5 
If val(Cells(j, 2)) >= P then
这样试试看。
字符串最好用 & 相加。
2021-09-14 12:59
lliiss681
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2021-8-18
得分:0 
回复 6楼 cwa9958
后来我有加VAL()试了下还是不行,还是容易把小于P的值进行输出
我条件语句里用的AND合并查找两个条件,比如是

Dim P As Integer
Dim Q As Integer
P = Val(TEXTBOX1)
Q=VAL(TEXTBOX2)
If VAL(Cells(j, 2)) >= P and VAL( Cells(j, 3) )>= Q then
a = a + "   " + xlSheet.Cells(j, 1).Value & vbCrLf
End If
Me.Text1.Text = a

有Button1和Button2,点击按钮1的时候对SHEET1数据筛查,点击按钮2对sheet2数据筛查,(sheet1和sheet2同属一个excel文件)就是输完P和Q的值后,分别点击按钮1输出一个结果,再点击按钮2输出一个结果,这中间需要对Q和P进行清空吗?
2021-09-14 13:27
lliiss681
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2021-8-18
得分:0 
我两次button时间里都有如下语句,两次button访问同个文件会出这种数据错误吗
Dim xlApp As Excel.Application '声明对象变量
Dim xlBook As Excel.Workbook
Dim xlSheet As Excel.Worksheet
Dim OpenExecl As Long
Dim ExcelPath As String
Set xlApp = CreateObject("Excel.Application") '创建EXCEL对象
Set xlBook = xlApp.Workbooks.Open("E:\VB\\0913\Book111.xls")  '打开存在的execl文件
xlApp.Visible = False '设置EXCEL对象可见(或不可见)
Set xlSheet = xlBook.Worksheets("Sheet1") '设置活动工作表
xlSheet.Activate '激活工作表
RCOUNT = xlApp.ActiveSheet.UsedRange.Rows.Count
For j = 126 To RCOUNT Step 1
2021-09-14 14:28



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-506834-1-1.html




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

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