以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助] 第二段代码不执行  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=96913)

--  作者:feng1999
--  发布时间:2017/3/2 11:31:00
--  [求助] 第二段代码不执行

请老师帮忙看下下面代码有什么问题,为啥第二段代码不执行?谢谢

For s As Integer =1 To 10

if DataTables("压敏电阻检验记录").DataRows(1).IsNULL("贴片_本体长") then

    sheet(56,4+2*s).value =nums2(Rand.Next(count))

    sheet(57,4+2*s).value =nums3(Rand.Next(count))

    sheet(58,4+2*s).value =nums4(Rand.Next(count))

sheet(59,4+2*s).value =nothing

    sheet(60,4+2*s).value =nothing

    sheet(61,4+2*s).value =nothing

else

sheet(56,4+2*s).value =nothing

    sheet(57,4+2*s).value =nohting

    sheet(58,4+2*s).value =nothing

    sheet(59,4+2*s).value =nums5(Rand.Next(count))

    sheet(60,4+2*s).value =nums6(Rand.Next(count))

    sheet(61,4+2*s).value =nums7(Rand.Next(count))

end if

Next


--  作者:有点色
--  发布时间:2017/3/2 11:33:00
--  
    If DataTables("压敏电阻检验记录").DataRows(s).IsNULL("贴片_本体长") Then
--  作者:feng1999
--  发布时间:2017/3/2 13:08:00
--  
更改后第二段代码仍然不执行?
--  作者:有点色
--  发布时间:2017/3/2 15:02:00
--  

 不执行,说明不满足判断的条件,请先理清你自己的逻辑是什么


--  作者:feng1999
--  发布时间:2017/3/2 15:55:00
--  
判断的条件就是如果Datatable(“压敏电阻检验记录”)的(贴片_本体长)这一列的第一行为空的话执行代码1,否则就执行代码2,如果实现这个功能代码不应该这么写吗?
--  作者:有点色
--  发布时间:2017/3/2 16:26:00
--  

你试试改成

 

if Tables("压敏电阻检验记录").Rows(1).IsNULL("贴片_本体长") then


--  作者:feng1999
--  发布时间:2017/3/2 16:51:00
--  
还是不执行呢
--  作者:feng1999
--  发布时间:2017/3/2 16:58:00
--  
图片1,2是一组,如果贴片_本体长为空,可以正常执行,图片3,4是一组,如果贴片_本体长不为空,则不能正常执行还是执行代码1,返回的数值为0
图片点击可在新窗口打开查看此主题相关图片如下:4.png
图片点击可在新窗口打开查看

--  作者:feng1999
--  发布时间:2017/3/2 16:59:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:3.png
图片点击可在新窗口打开查看

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

--  作者:有点色
--  发布时间:2017/3/2 19:08:00
--  
搞不懂你的意图,贴出完整代码,或者上传实例说明。