IIF的奇怪问题,这两句为什么不等价???

三楼の郎 2002-12-13 04:26:21
我在编写.cls类模块的时候碰到以下两种写法的结果不相同:

IIf IsNull(rec.Fields("姓名")), mvar姓名 = "", mvar姓名 = rec.Fields("姓名")

If IsNull(rec.Fields("姓名")) Then
mvar姓名 = ""
Else
mvar姓名 = rec.Fields("姓名")
End If

当“姓名”字段的内容不是Null时,第一种写法的值是空,第二种写法的值正确。
...全文
29 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
三楼の郎 2002-12-13
  • 打赏
  • 举报
回复
多谢,没看仔细!
holydiablo 2002-12-13
  • 打赏
  • 举报
回复
不好意思
写掉个了
mvar姓名 =IIf(IsNull(rec.Fields("姓名")), "",rec.Fields("姓名"))
holydiablo 2002-12-13
  • 打赏
  • 举报
回复
第一种写法不对

应该是
mvar姓名 =IIf(IsNull(rec.Fields("姓名")), rec.Fields("姓名"),"")
这和第二种等价

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧