vb简单组合框找错

vb 帮我找找错_百度知道
vb 帮我找找错
我建了13个文本,其中9个分别为录入a到i,另外四个输入其它的然后通过公式求a到i之间的最小值,并且为0时或空值时不参与计算(全部输入时都会大于或等于0或为空值)PrivateSubCommand...
我建了13个文本,其中9个分别为录入a到i,另外四个输入其它的然后通过公式求a到i之间的最小值,并且为0时或空值时不参与计算(全部输入时都会大于或等于0或为空值)Private Sub Command1_Click()Dim a As Long, b As LongDim c As Long, d As LongDim e As Long, f As LongDim g As Long, h As LongDim i As Long, min As LongDim xm As Integer, cl As IntegerDim zz As Integer, xz As Integera = (1 + xm * 0.1) * 1200b = (1 + xm * 0.1) * 800c = (1 + xm * 0.1) * 1500d = (1 + xm * 0.1) * 1200e = (1 + cl * 0.2) * 1800f = (1 + zz * 0.3) * 1200g = (1 + cl * 0.2) * 500h = (1 + xz * 0.4) * 500i = (1 + xz * 0.4) * 25If Text1.Text = && Or Text1.Text = &0& Thena = 600000 ’因为不知道怎么让为0或空值的不参与运算,而且这里我要设计的结果的值都远远小于600000,所以就输了这个数End IfIf Text2.Text = && Or Text2.Text = &0& Thenb = 600000End IfIf Text3.Text = && Or Text3.Text = &0& Thenc = 600000End IfIf Text4.Text = && Or Text4.Text = &0& Thend = 600000End IfIf Text5.Text = && Or Text5.Text = &0& Thene = 600000End IfIf Text6.Text = && Or Text6.Text = &0& Thenf = 600000End IfIf Text7.Text = && Or Text7.Text = &0& Theng = 600000End IfIf Text8.Text = && Or Text8.Text = &0& Thenh = 600000End IfIf Text9.Text = && Or Text9.Text = &0& Theni = 600000End Ifmin = aIf b & min Thenmin = bElseIf c & min Thenmin = cElseIf d & min Thenmin = dElseIf e & min Thenmin = eElseIf f & min Thenmin = fElseIf g & min Thenmin = gElseIf h & min Thenmin = hElseIf i & min Thenmin = iEnd IfPrint minEnd Sub但我运算时,当只输入代表d和c的文本时,d&c的时候,结果仍然输出的是c的值,好奇怪呀,我怎么都找不到原因先不说用数组或别的什么,先说说这里错在哪里好吗?现在才开始自学VB,有错找不到很痛苦yuqi_tan说的有点像,但事实结果却和他说的不符合.运行时,比如a就比600000的小,但仍会继续去查找判断b和c,就是到d时出错第三次补充:输入abchi,i最小,仍会输出i,所以没有跳出程序,仍判断比较,输入d和i,i比d小,也会输出i,暂时看起来就是只有当独输入cd时判断错了,d&c,但仍输出c
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
Yuqi_Tan知道合伙人
采纳数:2542
获赞数:9621
aaaaelseif 2222 then
bbbbelseif 3333 then
ccccelseif 4444 then
ddddelseif 5555 then
eeee................
....endif0000说明:1.这个语句的语法是,先判断1111,若不符合就判断2222,....这样一直往后找。2.一旦找到一个符合的,比如4444,刚执行后面的dddd。3.执行完毕后就跳出了if语句,而执行end if后面的语句0000了。4.在你这个程序中,一旦找到第一个小于600000的数字,就执行end if后面的Print min语句,即打印出找到的第一个比600000小的数字。而不管后面是否有更小了数字。不知解释是否清楚。当你知道原因之后,就不难修正其中的错误了,哈。补充:1、上面只是对“但我运算时,当只输入代表d和c的文本时,d&c的时候,结果仍然输出的是c的值,好奇怪呀,我怎么都找不到原因”的回答。因为在你的例子中,a和b都是空的,即:a=b=600000。因你输入的c&600000,是第一个&600000的数,所以不管你输入的d是任何值,都打印c。2、如你所说,“比如a就比600000的小”,a已经不等于600000了,这时就应该是“找到第一个比a小的数就跳出了if语句”。3、在你说的“比如a就比600000的小,但仍会继续去查找判断b和c,就是到d时出错”中,我判断你输入的b和c都比a大,故“仍会继续去查找判断b和c”,甚至d。4、如果你输入的d碰巧正好是abcdef....顺序中第一个比a小的数,则打印d。你说的“就是到d时出错”貌似不会发生。你把出现错误时a-i的值发过来,帮你分析一下原因。第三次补充回答:1、请问楼主是怎么输入abchi的值的?2、从你的程序来看,a-i的值是根据xm、cl、zz、xz等四个参数计算出来的。并不是可以输入的。3、即使你提前给a-i赋值,到了运行程序时也已经重新计算了。不知楼主是否考虑到了。4、从几个公式看,a=d=(1 + xm * 0.1) * 1200 ,且b&a=d&c,还有e&g,h&i等关系。5、如果你是靠在text3.text和text4.text中输入数字来控制c和d的值,那我告诉你,你输入到text.text中的内容丝毫不影响c和d的大小。因为,c=(1 + xm * 0.1) * 1500 永远大于d= (1 + xm * 0.1) * 1200 !6、按照你写的程序,无论什么时候,都是只找到第一个比a小的数就打印。不知分析对否?
lxz1969知道合伙人
采纳数:3845
获赞数:10559
应该这样判断:If b & min Then min = bIf c & min Then min = cIf d & min Then min = dIf e & min Then min = eIf f & min Then min = fIf g & min Then min = gIf h & min Then min = hIf i & min Then min = i如果像你那样判断,当b&min时,then min=b,然后直接跳出IF了,根本不会再去判断c以后的字母。
zhaizhaoxuan知道合伙人
zhaizhaoxuan
采纳数:104
获赞数:127
这是我自己写的一点程序,希望对你有帮助Dim a(9) As Single
'声明,不用解释啦a(0) = Val(Text8.Text) 'a(1) = Val(Text9.Text) 'a(2) = Val(Text10.Text)'a(3) = Val(Text11.Text)'a(4) = Val(Text12.Text)'a(5) = Val(Text13.Text)'a(6) = Val(Text14.Text)'a(7) = Val(Text15.Text)'a(8) = Val(Text16.Text)'a(9) = Val(Text17.Text)'
Max = a(0)
'初始化Max值
For i = 1 To 9
'进入For循环体
If a(i) & Max Then '如果有一个数大于Max
Max = a(i)
'那么Max为这个数
'结束if判断
Min = a(0)
'初始化Min值
For i = 1 To 9
'进入For循环体
If a(i) & Max Then '如果一个数小于这个数
Min = a(i)
'那么Min值为这个数
'结束if判断
'For i = 0 To 9
'进入For循环
Last = Last + a(i)
'初始化Last值为所有输入的值的和
Last = Last / 10
'设置Last值除以10(求平均值)
Label13.Caption = Max 'label13显示Max值 Label15.Caption = Min 'Label15显示Min值 Label17.Caption = Last'Label17显示Last值还有什么问题,发消息给我问我
孤本轻狂知道合伙人
采纳数:91
获赞数:191
正如 lxz1969所说,你的判断有问题,只能执行一步,不能顺序逐个判断。
知道合伙人
擅长:暂未定制
Dim a(9) As Single '声明,不用解释啦 a(0) = Val(Text8.Text) ' a(1) = Val(Text9.Text) ' a(2) = Val(Text10.Text)' a(3) = Val(Text11.Text)' a(4) = Val(Text12.Text)' a(5) = Val(Text13.Text)' a(6) = Val(Text14.Text)' a(7) = Val(Text15.Text)' a(8) = Val(Text16.Text)' a(9) = Val(Text17.Text)' Max = a(0) '初始化Max值 For i = 1 To 9 '进入For循环体 If a(i) & Max Then '如果有一个数大于Max Max = a(i) '那么Max为这个数 End If '结束if判断 Next ' Min = a(0) '初始化Min值 For i = 1 To 9 '进入For循环体 If a(i) & Max Then '如果一个数小于这个数 Min = a(i) '那么Min值为这个数 End If '结束if判断 Next ' For i = 0 To 9 '进入For循环 Last = Last + a(i) '初始化Last值为所有输入的值的和 Next ' Last = Last / 10 '设置Last值除以10(求平均值) Label13.Caption = Max 'label13显示Max值 Label15.Caption = Min 'Label15显示Min值 Label17.Caption = Last'Label17显示Last值
参考资料:
wo bu zhi dao zhen me xie
golden_yi知道合伙人
采纳数:46
获赞数:90
用用 Val 试试
其他4条回答
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(1568)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'和vb安装时的acmboot.exe发送错误说拜拜',
blogAbstract:'&&&&&&&&& 昨天重装了系统,但是vb却一直没装上,今天下午又装了一下午,终于在刚才装上了,并且这次装msdn的时候很是顺利。\r\n&&&&&&&&& 在安装的过程中出现的问题有:安装向导错误;空间不足;acmboot.exe 发送错误。现在说下我对acmboot.exe发送错误的处理方法。当然我是从网上找的方法。在试了几个解决方案之后,用下面这个解决的。至于解决原理我是不知道的,不过这个原理不知道没什么,只是不知道别人如何找到的这个方法,而不是从网上别人的回答中找到的?\r\n',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:9,
publishTime:2,
permalink:'blog/static/',
commentCount:2,
mainCommentCount:1,
recommendCount:4,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}拒绝访问 | www.404wx.com | 百度云加速
请打开cookies.
此网站 (www.404wx.com) 的管理员禁止了您的访问。原因是您的访问包含了非浏览器特征(c43f5-ua98).
重新安装浏览器,或使用别的浏览器大家都在搜:
扫描二维码安装房天下APP
手机浏览器访问房天下
> > 问题详情
vb数据库备份 事实错误 ‘76’路径未找到
我在另一台电脑上备份access数据库可以,在我的电脑上不行,就提示路径为找到,怎么回事呀?
浏览次数:0
请贴出代码,检查两台机器是否路径不相同。
房天下知识为您分享了一条干货
下载房天下APP
提问获取更多回答
ask:3,asku:1,askr:234,askz:17,askd:6,RedisW:0askR:2,askD:264 mz:nohit,askU:0,askT:0askA:267
Copyright &
北京拓世宏业科技发展有限公司
Beijing Tuo Shi Hong Ye Science&Technology Development Co.,Ltd 版权所有
违法信息举报邮箱:VB 实时错误52 错误的文件名或号码_百度知道
VB 实时错误52 错误的文件名或号码
FunctionSearchFiles(PathAsString,FileTypeAsString)DimFiles()AsString'文件路径DimFolder()AsString'文件夹路径Dima,b,cAsLongDimsPathAsString'sPath=Dir(Path&FileType)'查找第一...
Function SearchFiles(Path As String, FileType As String)Dim Files() As String '文件路径Dim Folder() As String '文件夹路径Dim a, b, c As LongDim sPath As String'sPath = Dir(Path & FileType) '查找第一个文件Do While Len(sPath) '循环到没有文件为止
ReDim Preserve Files(1 To a)
Files(a) = Path & sPath '将文件目录和文件名组合,并存放到数组中
List1.AddItem Files(a) '加入list控件中
sPath = Dir '查找下一个文件
DoEvents '让出控制权LoopsPath = Dir(Path & &\&, vbDirectory) '查找第一个文件夹Do While Len(sPath) '循环到没有文件夹为止
If Left(sPath, 1) && &.& Then '为了防止重复查找
If GetAttr(Path & &\& & sPath) And vbDirectory Then '如果是文件夹则。。。。。。
ReDim Preserve Folder(1 To b)
Folder(b) = Path & sPath & &\& '将目录和文件夹名称组合形成新的目录,并存放到数组中
End IfsPath = Dir '查找下一个文件夹DoEvents '让出控制权LoopFor c = 1 To b '使用递归方法,遍历所有目录
SearchFiles Folder(c), FileTypeNextEnd FunctionPrivate Sub Command1_Click() '调用SearchFiles &e:\&, &*.*&End Sub
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
zx001z知道合伙人
采纳数:9737
获赞数:18560
'sPath = Dir(Path & FileType) '查找第一个文件这句前面的单引号去掉SearchFiles &e:\&, &*.*& 这句改为SearchFiles &e:\&, &1.txt&这个代码本身是查找“某个目录下面是不是有某个文件”的不是查找所有文件的
为你推荐:
其他类似问题
您可能关注的内容
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 vb程序设计实例100 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信