以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 按钮中后台筛选表的条件,判断失效看看怎么回事吧。 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=121005) |
-- 作者:guosheng -- 发布时间:2018/6/27 15:27:00 -- 按钮中后台筛选表的条件,判断失效看看怎么回事吧。 在确定按钮的click事件中做判断:实际上没有符合条件的drs,messagebox.show(1)和messagebox.show(2)弹窗了;直接就到messagebox.show(5),而且输出的str为空。怎么回事啊。理论上应该是弹窗messagebox.show(6) 的啊。 是不是SQLSelect语句有问题啊。 If drr1("等级")="一级" Dim Str As String Dim drs As List(of DataRow) = DataTables("计划执行情况表").SQLSelect("项目编号 =\'"& drr1("项目编号") &"\' And 一级编号=\'"& drr1("一级编号") &"\' and 等级=\'二级\'") messagebox.show(1) If drs IsNot Nothing messagebox.show(2) For Each dr As DataRow In drs messagebox.show(3) If dr.isnull("实际完成时间") messagebox.show(4) Str=dr("责任部门") & "承办的任务:" & dr("任务名称") & ";" & Str End If Next messagebox.show(5) messagebox.show("一级节点的子任务确认完成后,才能确认完成相应的一级节点任务:" & Str) Return Else messagebox.show(6) cr("工作进展过程记录") = user.name & "在" & rq & "更新进展记录:【" & e.Form.Controls("工作进展").value & "】" & vbcrlf & cr("工作进展过程记录") cr("完成提交人")=user.name cr("完成提交日期")=rq Tables("计划执行情况表").save forms("增加一条主项计划完成窗口").close() End If |
-- 作者:有点甜 -- 发布时间:2018/6/27 15:31:00 -- If drs IsNot Nothing
改成
If drs.count > 0 Then |
-- 作者:guosheng -- 发布时间:2018/6/27 16:04:00 -- 改成drs.count 确实判断成功了。 分别什么时候用IsNot Nothing 和count判断行是否存在啊?这个为什么用IsNot Nothing判断会有问题啊? |
-- 作者:有点甜 -- 发布时间:2018/6/27 16:26:00 -- 你那个drs是集合,select返回的一个集合不是nothing,要判断集合里面的行数。 |