日期:2014-05-16  浏览次数:20858 次

判断最后一个不为空的列!!!
本帖最后由 zjb_619 于 2012-11-12 16:29:27 编辑
一张设备检修表,有13列,是设备编号和12个月,每台设备检修的时间不一样,检修就打上标记,不检修的月份为空,现在想得到每台设备的最后一次检修的月份???  在线等!!!
------解决方案--------------------
假如1月份表为m1
那么1月份已经修了,m1不为unll,它是1还是什么东西?
如果不考虑这些,先上一个比较笨的方法:
for i=1 to 12
  Conn.Execute("update [表] set 最后检修月份="&i&" where m"&i&"<>null")
next

------解决方案--------------------
11楼的是正解。完全可以执行。楼主认真测试一下。感觉楼主思路没理清楚。解释一下代码含义

for i=1 to 12   
  Conn.Execute("update [表] set 最后检修月份="&i&" where m"&i&"<>null") 
next

先循环所有记录,从1到N。
对于每行记录来说,再进行从1月到12月循环。把不为空的列内容存到最后一列去。