以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  有三条数据,怎么确保有且只能一条数据开始状态为true  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=177155)

--  作者:cnsjroom
--  发布时间:2022/5/11 10:58:00
--  有三条数据,怎么确保有且只能一条数据开始状态为true

有三条数据,怎么确保有且只能一条数据开始状态为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


--  作者:有点蓝
--  发布时间:2022/5/11 11:03:00
--  
贴出完整代码,说明代码是在哪个事件的
--  作者:cnsjroom
--  发布时间:2022/5/11 11:42:00
--  回复:(有点蓝)贴出完整代码,说明代码是在哪个事件...

老师 附上项目文件  麻烦老师看看


以下内容是专门发给有点蓝浏览


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

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


--  作者:有点蓝
--  发布时间:2022/5/11 13:12:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:无纸化会议sql服务器端求助.zip