Foxtable(狐表)用户栏目专家坐堂 → 怎么根据会议议题表开始与结束状态来判断 当前所有议题都已经完成 然后更改会议状态表中的会议状态为true


  共有3310人关注过本帖树形打印复制链接

主题:怎么根据会议议题表开始与结束状态来判断 当前所有议题都已经完成 然后更改会议状态表中的会议状态为true

帅哥哟,离线,有人找我吗?
cnsjroom
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
怎么根据会议议题表开始与结束状态来判断 当前所有议题都已经完成 然后更改会议状态表中的会议状态为true  发帖心情 Post By:2022/5/7 13:15:00 [只看该作者]

怎么根据会议议题表开始与结束状态来判断 当前所有议题都已经完成  然后更改会议状态表中的会议状态为true

 

会议议题有   开始状态  结束状态   uuid  主题uuid(主题uuid是会议状态中的UUID值)等字段

会议状态有   会议状态  uuid 等字段

 

假定当前已经选择了会议议题中的某行  同步vars(“主题UUID”) vars(“议题UUID”) vars(“议题标题”)均正常赋值

 

下述代码依次运行之后,会在议题数据还没有全部完成的时候就更改了会议状态为true   麻烦老师帮忙看看   谢谢

 

 

 

开始议题按钮代码:【先判断议题uuid 的开始与结束状态  开始与结束都为false时 可开始议题  开始等于true 结束等于false  则可结束议题】

Dim cmd As New SQ LCommand
cmd.Conne cti
Dim dt As DataTable
cmd.Com mandText = "SEL ECT * Fr om 会议议题"
dt = cmd.ExecuteReader(True)

Dim bb As DataRow = dt.Find("开始状态=true and 结束状态 = false and uuid='" & vars("议题uuid") & "'")
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
        dt.dataCols("开始时间").SetDateTimeFormat(DateTimeFormatEnum.DateLongTime)
        Tables(e.form.name & "_table1").Current("开始时间")=Date.now
        Tables(e.form.name & "_table1").Current.Save
    End If
End If

 

 

 

结束议题代码::【先判断议题uuid 的开始与结束状态  开始与结束都为false时 可开始议题  开始等于true 结束等于false  则可结束议题】

Dim cmd As New SQLCommand
cmd.Connection Name = "无纸化会议"
Dim dt As DataTable
cmd.Com mandText = "SELE CT * Fro m 会议议题"
dt = cmd.ExecuteReader(True)

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
   
    Dim bb1 As DataRow = dt.Find("开始状态=true and 结束状态 = false and uuid='" & vars("议题uuid") & "'and 议题标题='" & vars("议题标题") & "'")
    If bb1 IsNot Nothing Then
            bb1("结束状态")=True
            dt.dataCols("结束时间").SetDateTimeFormat(DateTimeFormatEnum.DateLongTime)
            bb1("结束时间")=Date.now
            bb1.Save
    End If
    Functions.Execute("议题开始不等于结束=0则更改会议状态为true",vars("主题uuid"))
End If

 

议题开始不等于结束=0则更改会议状态为true  内部函数代码如下:

Dim 主题uuid As String = Args(0)

Dim cmd As New SQL Command
cmd.Connecti
cmd.Comman dText = "SEL ECT Count(*) Fr om 会议议题 where 主题uuid='" & 主题uuid & "'and 开始状态 <> 结束状态" ' "

 '判断会议议题有多少符合开始状态为true数据的行'
If cmd.ExecuteScalar = 0 Then
    cmd.CommandText = "UPD ATE 会议状态 SET 会议状态 = 'true' where uuid='" & 主题uuid & "'"
    cmd.ExecuteNonQuery()
End If

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/7 13:59:00 [只看该作者]

请用示例数据举例,截图说明

 回到顶部
帅哥哟,离线,有人找我吗?
cnsjroom
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)请用示例数据举例,截图说明  发帖心情 Post By:2022/5/7 14:34:00 [只看该作者]

会议状态  中的uuid   是会议议题中的主题uuid


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

会议状态中的uuid   对应会议议题主题uuid  中有三条数据

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看
在点开始议题按钮与结束议题按钮后  只有一条数据的开始与结束状态为ture  其它的都是false

结果直接就去更新了会议状态表中的会议状态为true

 

想实现 议题中主题uuid一样的 数据行里  所有的开始 与结束都等于true的时候  采取更新会议状态中的会议状态为true 

只要开始与结束状态中   有一个是false 都不能让会议状态表中的会议状态为true

[此贴子已经被作者于2022/5/7 14:38:26编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/5/7 14:44:00 [只看该作者]

什么数据库?access?

内部函数代码如下:

Dim 主题uuid As String = Args(0)

Dim cmd As New SQL Command
cmd.Connecti
cmd.Comman dText = "SELECT Count(*) From 会议议题 where 主题uuid='" & 主题uuid & "' and (开始状态 =false or  结束状态
=false)"

 '判断会议议题有多少符合开始状态为true数据的行'
If cmd.ExecuteScalar = 0 Then
    cmd.CommandText = "UPD ATE 会议状态 SET 会议状态 = true where uuid='" & 主题uuid & "'"
    cmd.ExecuteNonQuery()
End If


 回到顶部