查看: 420|回复: 1

[问与答] 【求助】两块if写在一起则出错

[复制链接]
恭喜发财 发表于 2022-5-28 17:37:14 | 显示全部楼层 |阅读模式
第一种,两个if分开写,可执行,无错误
dim companyBH
companyBH="a"
if not isnumeric(companyBH) then
  response.write "编码不是数字!"
elseif companyBH<1 then
  response.write "编号小于1!"
end if

第二种,两个if写在一行里,不可执行,出错
dim companyBH
companyBH="a"
if not isnumeric(companyBH) or companyBH<1 then
  response.write "编码不是数字或编码小于1!"
end if

请大神帮忙指教一下,谢谢
xuanxiao 发表于 2022-5-28 23:39:52 | 显示全部楼层
1.png

下面是提示

2.png


很显然提醒类型不匹配。


微软官方说明:
使用 VBScript 对 Numeric  字段类型执行数值比较或计算时,可能会收到以下错误消息:

错误消息 1

Microsoft VBScript 运行时错误“800a000d”
类型不匹配  

错误消息 2

Microsoft VBScript 运行时错误“800a01ca”
变量使用 VBScript 中不支持的自动化类型



建议处理方法:

  1. dim companyBH
  2. dim errMsg
  3. companyBH="a"
  4. errMsg=""

  5. if not isnumeric(companyBH) then
  6. errMsg=errMsg&"编码不是数字!"
  7. end if


  8. if isnumeric(companyBH)  then
  9.     if companyBH<1 then errMsg=errMsg&"编码小于1!" end if
  10. end if

  11. response.write errMsg
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表

在线客服

售前咨询
售后咨询
服务热线
023-58418553
微信公众号