有三条数据,怎么确保有且只能一条数据开始状态为true
窗体表是sqltable表,当前有三个议题:
怎么实现开始了1号议题的时候,在一号议题没有结束时,不能点2.3任何一个议题开始,必须等1号议题点结束了,才能点2.3任何一个议题开始,也就是同时只有且只能进行一个议题
此主题相关图片如下:11.png
当前代码如下:【运行效果是当前如果有议题已经处于开始,尚未结束,其他议题依然可以点开始……没有达到预期】
开始议题代码:
……
Dim bb As DataRow = dt.Find("开始状态=true and 结束状态 = false and uuid='" & vars("议题uuid") & "'")
If bb IsNot Nothing Then
vars("开始议题uuid") = bb("uuid")
vars("传入uuid")=bb("主题uuid")
e.Cancel=True
MessageBox.Show(bb("议题标题") & "在开始状态,且尚未结束的,请先结束再开始","提示!")
Else
If Tables(e.form.name & "_table1").Current("uuid")<>"" Then
Tables(e.form.name & "_table1").Current("开始状态")=True
Tables(e.form.name & "_table1").Current("开始时间")=Date.now
Tables(e.form.name & "_table1").Current.Save
End If
End If
结束议题代码
……
Dim bb As DataRow = dt.Find("开始状态=false and 结束状态 = false and uuid='" & vars("议题uuid") & "'and 议题标题='" & vars("议题标题") & "'")
If bb IsNot Nothing Then
e.Cancel=True
MessageBox.Show(bb("议题标题") & "尚未开始,无须结束的,请核对!","提示!")
Else
If Tables(e.form.name & "_table1").Current("uuid")<>"" Then
Tables(e.form.name & "_table1").Current("结束状态")=True
Tables(e.form.name & "_table1").Current("结束时间")=Date.now
Tables(e.form.name & "_table1").Current.Save
End If
End If